From patchwork Wed Feb 7 16:06:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 870493 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="BAxB9uId"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zc66y0PFnz9s71 for ; Thu, 8 Feb 2018 03:22:34 +1100 (AEDT) Received: from localhost ([::1]:55969 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ejSUS-0001zk-1H for incoming@patchwork.ozlabs.org; Wed, 07 Feb 2018 11:22:32 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51594) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ejSFi-0005rP-2q for qemu-devel@nongnu.org; Wed, 07 Feb 2018 11:07:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ejSFe-0006tH-2G for qemu-devel@nongnu.org; Wed, 07 Feb 2018 11:07:18 -0500 Received: from mail-by2nam01on0040.outbound.protection.outlook.com ([104.47.34.40]:29552 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ejSFd-0006sp-O4 for qemu-devel@nongnu.org; Wed, 07 Feb 2018 11:07:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=FFCItbhe3z5LnOPkxBvVYDwqD9Hfm01bHo8CiUMEhsQ=; b=BAxB9uIdTbblzfMUwR4mWQo4wAql7S7smjsqzaE/EL5lPvMPjYc6P7fvwbIqDM0a5rQZY+W8HjC4Kv1vE5i0RzG89td5te0gg6MWJ28PGdVhm8/HKQ+hf3ISCckLxPE6SPNsKxoUJGsIxMgwu7UPov1IvVOuUuLAjVnwbKH6IME= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by CY1PR12MB0152.namprd12.prod.outlook.com (10.161.173.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.464.11; Wed, 7 Feb 2018 16:07:07 +0000 From: Brijesh Singh To: qemu-devel@nongnu.org Date: Wed, 7 Feb 2018 10:06:19 -0600 Message-Id: <20180207160638.98872-7-brijesh.singh@amd.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180207160638.98872-1-brijesh.singh@amd.com> References: <20180207160638.98872-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: DM3PR12CA0071.namprd12.prod.outlook.com (10.161.151.143) To CY1PR12MB0152.namprd12.prod.outlook.com (10.161.173.22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: de69c644-aab9-4191-ea9f-08d56e44d71d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:CY1PR12MB0152; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 3:f7n2G7cwbuFl9EGPqQF5ex2YcfQK7G0/WadTaNSEYYNVtAWQdPPkRUKfe06TzyTfAnakVOKaWV4dry81FjNxYmSe35gtDnKmNf30EmT0IblL0lOwuFB1P65tvsnAe8anSIpHuMIWGmdeYx+vXp5Rrth/+eojpz2CU5pVwX1A/fnhYJ8eMlWFY8NAFZLeo25GMnQ96VN5GA0o7jhjX2q5pIKtzRKGGP7fv/HvRayyxvTvJlWnvu2AWYjP0y/Ymkr7; 25:6DezM75iYDr/zVu/NngJQ5HxE3OblbD+4E7kdjjI/Q6weBKfHEJQW4xORehMWsOXpAphwLjnjKKxpM74M9Typ+Fc+ItNOGp2v+P+ESR386690URK7d0Kv+fbo4qVRNf1SEn1rl6gwDCydSAu97NMKKlYp4xki9OdOSW3nsSBhGUN0EKMtEbiNNFG30LxKMKlw4wt6ip4srAn2ukLfcTRlLNY6wuIzesxiXxjClPnSslEX2Foeh8d5lKanSyASuqRLJQX1x53Nd4kjOpkWe6zwlLsll1o/C1/EpDsywJPmD73s8CgyP+ePcKdisJDVRaBSLuV7ZfjUgrphY+m4Z1A4w==; 31:OFp8mEk9tSbahctQ3Rf6wjlpVoIsRJTmllIi4ZMAcW71ZJUsMgo5nhaCERzGoGJgg2VGR/G2rjtkjcjTowAvCs+IKCgqEUkV+ZHRw4Zo+kwNeqKKpGd63EZPSiyI7QnM2tLHjarIk6t58SdEv5qZE/3emk+ZLBS6ECgrlmpOFn9MvvvodZmDvAilfPRZq+eHoxisBT/tUpI/Rk7OqpYqi1UuyfVEEgUKKSJPIPeRL/0= X-MS-TrafficTypeDiagnostic: CY1PR12MB0152: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 20:510TcVXOOhBoj6xXjINbaMQdMpWN+YRySACNGnaLysvw8vKF2CCmvnT2sw+OF9ubQG47HNCauNWsmKq1ekXIBlW26sGCbVAFOf+0LWCHYR+vXZIg5Hkg8e/Y31ZtUiEgmA19cUsUihx0VTOhQJE8TXsc/EQivSc90Im5IPU+pq+dPzu6HlsRSsr304tSqMc9wOuAa+ZezM4oXNZz8fKJ9pKAeFK5bNDDVnvtGBMsbrYX28pcW3A54bNxpI4uvnk0NgKJPAsBt8QeOg5GaMzNltgu17p9JwiUJ74wnaL6wvbThv/jylqVWu7N53SiWUyPkET2dBkw5ribhUhGa1tEUWMLN+4wSogOUaUxplzQKoAK/Q26X9+sYvlAUIDVY32JXEKEpZwZYXjkCmtffPjnYKH13kXcUsnTCrZgBjMDfdwnpCitZ2D24qjYBHszp4DiO74Xn+2PAv2rN1nfpNe6yqkOtogpseaThduKOyEi4YdWbh8yvqsKaWVMP6PIoNuT; 4:6euY1DwFpkERxakCE+QLTzNHJXn2fZ1fMLIOSYVCtkEecSnFhdo4iY2UMqxLz5Dtn4nTMokzk4bjCqeEslocDv/5rktcoPvjx319ff7F8YCE7CQnR5iwAdlqYth9aWxXeOBTtPAoK8c3A7qYbdYW6kwPaaco+XuUXxuWA9HOv2o9+hFqPveczh6+aoVjHcP8bx7pQcgSMuTljc0HWflyi2JckflL5uuT8CIus2pzUObXarhprn06wTLmA9lSAuD1fau/BXxOguthHlijpaq65iTDW/p0DvHdqtZ3kJ0vOd9wRpdRvIh94dbzbpUK2YpHISwTif04ZrcEnIFn1IvoGZfuEfmSXXbfTPvPMKFyQoLer/LVmMz8LHErVfz5KrQM X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(190383065149520)(104084551191319); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231101)(2400082)(944501161)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:CY1PR12MB0152; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0152; X-Forefront-PRVS: 0576145E86 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(39380400002)(346002)(396003)(376002)(199004)(189003)(50226002)(68736007)(8666007)(51416003)(6916009)(7696005)(16526019)(1076002)(50466002)(6486002)(53416004)(7736002)(575784001)(305945005)(53936002)(8656006)(8936002)(8676002)(7416002)(86362001)(4326008)(81156014)(81166006)(52116002)(6666003)(2950100002)(478600001)(2351001)(66066001)(16586007)(15650500001)(2906002)(54906003)(5660300001)(106356001)(2361001)(47776003)(48376002)(105586002)(3846002)(59450400001)(6116002)(36756003)(386003)(316002)(39060400002)(26005)(97736004)(186003)(76176011)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0152; H:wsp141597wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR12MB0152; 23:e+MdMVEtNO3zm5urVhPIPqHBJAsRTcxRH1UKXkaMN?= g5oiKJcJP9B2VVSCGoRei11JDgU9WMScRxkBdVk2pUYKJ3xk+4MFZ9+DyTQwtZfpd7mNUVMuPNMti/p//wEoy+7FTxvMvQ6dx0aS6cURqvK9Hoaf8j4IzpbeyNC3FA6qXB8MaIkL2EOsHhyRykgR3NO3XJBnRJCoe3KgkyZMe+wnSZDqd2XV412FqM87H5tsHdRF4wKUBcBTe9/kbQ0v6D+gugkS9B4bpfeUpC3SaD3rFp5a/iHPocMlWdzvE9rmFKU3vKsyZxDFGXOO1v5NZM2hLe7a7jVwKYmbTgGmxSln20Qdb8WlMGqJLKdcpzHxlE8FuLQdTWfsDrjAKWltGZhyPpXBGRkUNgQTgfy1HeIUnjweSKMABeqpiWT83+A3Hlh1BiSg0GsaKgtmSeYCPQn2mzsf2CP1P/UJZfjrY094N2x+5ycOJffWMAAQEy+jKkpjoWVsv67EdjhL45ecUDtUa7NJV6ko0bFKch7YGl3f2Z0H9ITpFUlDhImSrsMqD8kk/opFpk+zqIP9YwvXmIE5fIooEH8GoTgaOtv5Hg7zxjsC6JXdIzvdR4L2lZOj3MestUbxcOpJUGwDt7PItz1jAdVuA8SYAR9AahRTbCZ3sRnU/XXCzBeHOgy82Ykush+dbxCc96bIhDHSNPBLSciVpuoBe4potMnN/1Ij7QE5jjiAKDaTK3/ZJ5Y6lSCx7sue+Jgu/1vBg7rtnlqRR7fg3bBvptafn8aCUHtsDqEUCxBGU9E6QrR9hH+0HrH7jKAt+HFzj1Xks3sUJbeOkN5LKe80PXNwpS+XhO8e3Ke+rBRU9jYH6VdsNgkzBFYFPYOAp6/zSD1K79QyNS5qILR7obhQxywD9yc/AnLIydsQyoV7hMWuXk4c8TFQ8RATMZkyY7VmpQyJdUPk3GiGFMEBUqjwJ4K0m/I641BF4Bba+xFkP7qtGk4Ucd12hzr6AOZr6LpNPYvYC6RPXxyqAGc61PHgNyUUwW4T9EHkKp0O1EvD2r0ezW1/F9SG1ukHASYyvG7rfkJFjbnHW0TbG+bnJGBp/X8CBgh6zN0sEnlBg80dBqB+UoqsqG+SMzFGW/3EgL4rizDANiZ/NOoaudxtqkTMYs3zENC9151e9Dq7wVjXti053tVRPjsJOe5MnFXLMb095JwQJBDVWeJ+VHvQ7D8kvG/8pzkSzTgqaAukRodmSELuZzzWTeNquP0HxqsRIql6v5KXNtc2uJIPvPe8jYXlE7xSyERmxnQgFHlTlF2bL4UaBsizwcIlDLf0DZggQDFrlsjZ4H4vY11Dg/h X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 6:j33WDa8S5SCRG4DfAn6+4/CEtvVoxlyMHK+Imta0QHLBnWUvkKBtVsUHeK+L13kaQruPZuY+4R2PVYXWsVZVrU6y56W+aMw4zTMmMZLkGHHUGlIiTYmunx0aaPFnliCm6ZNXYfzxobBmJMoiJU7JpQ8uVIrJ9VcM7qiaxoDWD1rVmTZh2aMPWxjTaUhWDb4533UafZTbq0OsqfrE+x7lKnV3Ly+fy1wnkWG3ZGFRUvuKMiS4KT1eYJrKQDJxA2v1jfCGmPau0q6Fm4c7UXCw23zZ6jUP1Pmj55obrREgBHs6B2Kqz1e8M1bCIvvuJEqKHzCOeFQXFbb8W91oJDVuFum2e+NCRmJ3oCOXQhzxDPg=; 5:OnxVYJugbsL8egHeFtk+pgQNLhaRgq2WkLvcp2plbbvt3vtD4Xsevf0l5UEgU2w/SRGcWz5sERa5QUAK42IrcOjAxKtnowy/IeLqsZdZLpYsv4Od+mLsssphEagN9PmOpKj4spi8ToiMX16ndELeQ9YOB+v12Z6QYRiHjtiy8mQ=; 24:sbqf+l7SX7SsZauE22yoBGcHEhHsdzl0uKfZ9sDqlW4iOn/TW7OhYkehse9HGaOcJSvu5X3qee8Dlqiu7LrhOf4c+L12jL2wIVAvdFVOD6U=; 7:aBxVCwOG4RsGtPSx7EVHsLDEks/geVrrDj/YS9YV//vytRBtCg5nv9HmGLtv7PLA0IHsAd55RG+0yCw71xi7eFlcBLM+MRgY+41HdqtWpNCy4t5pmM1YDlKs3m2fRGXncdA2xFlyPNuizkBL6xS/P3Y2ljxf4kRGvSoVNUvKbNumVX7qAU9Pur/x0KDXOuY3sz1dbAhwx7FIs2gmlYXbFRlHZiH44Mj/zeDumJFBibLQKN6KoNUSoFo6FV0OMEEA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0152; 20:Zoe1bdqf4I67nqoKgaWb5PirN0w1sKnM7Zah8Tn0SAcncTkmXY1L15JO9Fv/e26piovlO0QuSRizdEALG8aBXLlgBKzRUsRz+FJl6YjJxfE+ebuyl+DmrWHIpxPwn/r9LFzdj8zhuafQBQphaF2nf3aTNtWrJLqmibVAW/J21gePvDpw0p1yDHFVHA2hQUk7ASMM8aXc0I3vCdY5xiOxqUGddfDPgXIsvzjoGi2NSL4TjxoF5lg84h68C9QFyBdN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2018 16:07:07.8530 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: de69c644-aab9-4191-ea9f-08d56e44d71d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0152 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.40 Subject: [Qemu-devel] [PATCH v7 07/26] kvm: update kvm.h to include memory encryption ioctls X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E. Iglesias" , Peter Maydell , Eduardo Habkost , kvm@vger.kernel.org, "Michael S. Tsirkin" , Marcel Apfelbaum , Markus Armbruster , Peter Crosthwaite , Richard Henderson , "Dr. David Alan Gilbert" , Alistair Francis , Christian Borntraeger , Brijesh Singh , Stefan Hajnoczi , Cornelia Huck , Paolo Bonzini , Thomas Lendacky , Borislav Petkov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Updates kmv.h to include memory encryption ioctls and SEV commands. Cc: Christian Borntraeger Cc: Cornelia Huck Cc: Paolo Bonzini Signed-off-by: Brijesh Singh --- linux-headers/linux/kvm.h | 90 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index d92c9b2f0ed2..aed22309950d 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -1362,6 +1362,96 @@ struct kvm_s390_ucas_mapping { /* Available with KVM_CAP_S390_CMMA_MIGRATION */ #define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log) #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) +/* Memory Encryption Commands */ +#define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long) + +struct kvm_enc_region { + __u64 addr; + __u64 size; +}; + +#define KVM_MEMORY_ENCRYPT_REG_REGION _IOR(KVMIO, 0xbb, struct kvm_enc_region) +#define KVM_MEMORY_ENCRYPT_UNREG_REGION _IOR(KVMIO, 0xbc, struct kvm_enc_region) + +/* Secure Encrypted Virtualization command */ +enum sev_cmd_id { + /* Guest initialization commands */ + KVM_SEV_INIT = 0, + KVM_SEV_ES_INIT, + /* Guest launch commands */ + KVM_SEV_LAUNCH_START, + KVM_SEV_LAUNCH_UPDATE_DATA, + KVM_SEV_LAUNCH_UPDATE_VMSA, + KVM_SEV_LAUNCH_SECRET, + KVM_SEV_LAUNCH_MEASURE, + KVM_SEV_LAUNCH_FINISH, + /* Guest migration commands (outgoing) */ + KVM_SEV_SEND_START, + KVM_SEV_SEND_UPDATE_DATA, + KVM_SEV_SEND_UPDATE_VMSA, + KVM_SEV_SEND_FINISH, + /* Guest migration commands (incoming) */ + KVM_SEV_RECEIVE_START, + KVM_SEV_RECEIVE_UPDATE_DATA, + KVM_SEV_RECEIVE_UPDATE_VMSA, + KVM_SEV_RECEIVE_FINISH, + /* Guest status and debug commands */ + KVM_SEV_GUEST_STATUS, + KVM_SEV_DBG_DECRYPT, + KVM_SEV_DBG_ENCRYPT, + /* Guest certificates commands */ + KVM_SEV_CERT_EXPORT, + + KVM_SEV_NR_MAX, +}; + +struct kvm_sev_cmd { + __u32 id; + __u64 data; + __u32 error; + __u32 sev_fd; +}; + +struct kvm_sev_launch_start { + __u32 handle; + __u32 policy; + __u64 dh_uaddr; + __u32 dh_len; + __u64 session_uaddr; + __u32 session_len; +}; + +struct kvm_sev_launch_update_data { + __u64 uaddr; + __u32 len; +}; + + +struct kvm_sev_launch_secret { + __u64 hdr_uaddr; + __u32 hdr_len; + __u64 guest_uaddr; + __u32 guest_len; + __u64 trans_uaddr; + __u32 trans_len; +}; + +struct kvm_sev_launch_measure { + __u64 uaddr; + __u32 len; +}; + +struct kvm_sev_guest_status { + __u32 handle; + __u32 policy; + __u32 state; +}; + +struct kvm_sev_dbg { + __u64 src_uaddr; + __u64 dst_uaddr; + __u32 len; +}; #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)