From patchwork Mon Feb 12 15:36:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10213423 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3E35260236 for ; Mon, 12 Feb 2018 15:50:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 26D5028FEF for ; Mon, 12 Feb 2018 15:50:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 23D2A28D16; Mon, 12 Feb 2018 15:50:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 440E128E68 for ; Mon, 12 Feb 2018 15:50:30 +0000 (UTC) Received: from localhost ([::1]:45625 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGNC-0005H2-0U for patchwork-qemu-devel@patchwork.kernel.org; Mon, 12 Feb 2018 10:50:30 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55705) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGBO-0003Ip-J1 for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1elGBL-0003v5-On for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:18 -0500 Received: from mail-by2nam01on0055.outbound.protection.outlook.com ([104.47.34.55]:56772 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 1elGBL-0003qA-Bd for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:15 -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=gETm2iInEkfGqrASSmNRcrF1M5gu1861wM9lZTO1pnCbBv3BvxyuyOruLcAOZ+bJwdgsJB1Wzr3u7ZFMijwJrSToSHKjEHtCE3D9cLB6W4OUIvs/niEY7/NahHO43iTU4/WTAm440Cgxmrj1x2dzDtXaI8q2cidZvmtsakWiu90= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by BY2PR12MB0146.namprd12.prod.outlook.com (10.162.82.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.485.10; Mon, 12 Feb 2018 15:38:11 +0000 From: Brijesh Singh To: qemu-devel@nongnu.org Date: Mon, 12 Feb 2018 09:36:54 -0600 Message-Id: <20180212153715.87555-8-brijesh.singh@amd.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180212153715.87555-1-brijesh.singh@amd.com> References: <20180212153715.87555-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: SN4PR0801CA0004.namprd08.prod.outlook.com (10.161.215.142) To BY2PR12MB0146.namprd12.prod.outlook.com (10.162.82.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 689baa75-2eb8-470a-4d8c-08d5722ea064 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:BY2PR12MB0146; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 3:ssXh87AJzaOQkh0TK4e1v8ZaNXjbvVjuXAjYaGB7DJoNOgmsVsHjoPHvbDvwOJV/x+yYbk1ScHOya9nWiqvz7jRF6WWn8xBkJLtvqbVw4LMHVlGg4Bv6TrZbvZEc3Vvfb3Q/ksn/7W6aXtfvdpInpEG++7Slh66cgg6IGVROBWtnK8nM8cewisokdC3Re7T9VfqAvq5CDJ2lYYTLm3ChxFFXjCdB51QxchYEIynup3LrahEfo0i6Zs2k3fdp0hAn; 25:SM5l6vVkzadYCVhGaxVnGdvtuhdXHtgAB6fVOlcaaGWpJ+BIHk66kTt5ccq8YCbBWLl2ASBLTzi9cruuIRkb1c/OaxvPiCELpmxTcKItsu/FDdwCJPyXAxTz2qVhXbffbMyP9EYq1N7IVoDgZdamD6OYvblQIf/mu+67zROiaAqHn1JHzt5Uk8EnTjT0+eddnl1yz8BVyA9AzpnvdqyjSaZOlbfO4lGAJ5uH+ebEzGPxoZz+NtJ3MxxHATItna/FCyDk6QY1ADt+SM7PdLX2kmaNELVWCT46KzXct2KyASIG6jb4yRtNgwHnpJlxM9ndWdRJiQrSJxcJ753+VcFgvg==; 31:Km/zdhsgBKOWS62/+1Nc642Ddc7jiPiRMqczXwe9MJR+mRNcxpWzZRa8z823iqYl1VjzmT4txHbBS/2TSbwnT0Hel8MsD8LeXTxQXiVky0qo3tL6i8EDBQa+WQkkddYHPyMALgwzNv8eSiSYgaMyNqqAzO1MM6wq7AABc3scUZyimrfuhGJKNZNXe3kWFb5wmE+loKQ5xgrRhsXhOcv2RDxdx+IbB/jaaaYgwI/C9qU= X-MS-TrafficTypeDiagnostic: BY2PR12MB0146: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:0kLJuXn/s3LkPLdSRokSEN7nucq3Ojmss0AJv/+YK53G1ox88ChRzxqfyZfSCoUyre9MZDar45E2rNBevAB1IZrYllouKmse9GyFWYm/uAgjcaf1gfOD+Sw8Dn6qjRzizRcxQ8vXEv86Qn0Zcns6/FLwdsDk7aZNoEvU5KszCPNSZPVqOPxa/WHqqSUs6yjIihtghygjWKLrxw35KtQMVR0XL0oTcMLlxt4wO/3rK1uEqKHJJscFacBF9xoTgCPTJgPWe3ogFdX9Ce7oS3TPLiETdSr3xXRqDd1U1OycLOTw6S3hCfHL+e3t2T/Xky3e3gfEwdQk8nWc0cSnJC6vWg1Yv93RPMhc4iH37oIvtg9Kz+IO2RuRVFstLqzz8+YUz8kgQP7hV1aw+hx97KrsOea+ANqB6EYHOv6/fkSf7gmIB8+oliC9MdXMnoon5VKfB8jEr629xpbMwhgMchfDBM5hMqeYVgpdFp0Uy3vd5pCgWh+JqV7lKLK+6CPzj3dC; 4:rJlrk7kb0FsEKIwSCKf8lsevEHk8U/29DuY5utgMukdOsxnv63eRU6FcrqZijkG7rhl2hILb3rVfCwcH3sX7zgeOOKqf+wugaqAdPbGAo6DcOtobMmfvzavaCLm8N2S+t77JniByzCrCZ8t02xaWKbebS9SSiceTbFVQnCP/I2wNM2ELhkQ/da1PRItzPI1nAfyZ0M3veICxhUQvktSP45FN3jwp7vv0Fj36H4KVHONNTuIrG1oON466mwx5dZtaUDnkOvSiaHopMoodfQTDq80vw+WWtNPI/mjd6cwsUrhyqvHixIvbIL+cNqi6X9A9u51WDNoRnoZJv0+r9AhQ1ZXiLXeFo+oTBaIJ/wRD+t+1rRrLfB+YcsoGvDUITM2G 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)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231101)(2400082)(944501161)(6055026)(6041288)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011); SRVR:BY2PR12MB0146; BCL:0; PCL:0; RULEID:; SRVR:BY2PR12MB0146; X-Forefront-PRVS: 0581B5AB35 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(346002)(396003)(366004)(376002)(199004)(189003)(25786009)(53416004)(66066001)(8676002)(7416002)(105586002)(59450400001)(81156014)(76176011)(81166006)(5660300001)(97736004)(186003)(16526019)(8936002)(106356001)(50226002)(575784001)(2361001)(6116002)(3846002)(47776003)(305945005)(1076002)(86362001)(26005)(2351001)(7736002)(478600001)(51416003)(36756003)(4326008)(2906002)(53936002)(6666003)(2950100002)(8656006)(52116002)(6486002)(48376002)(15650500001)(39060400002)(68736007)(54906003)(16586007)(7696005)(386003)(316002)(6916009)(50466002)(8666007); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0146; 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; BY2PR12MB0146; 23:ipFLIGYp4+XbjvzS1rglttpIACblb9yQbkTXrUnNX?= =?us-ascii?Q?L4+cfOKAKLd8yWLGTAgkpb5xcoQbSs97MiSZeh9S8XwcM7HBv87RRWyIKp3U?= =?us-ascii?Q?tvUGM5grX1by9wmLxZ5/JPqhCrfkU7jEtpou1jsSElcWU1FjFrR4VV55nXrZ?= =?us-ascii?Q?IHOdBZvMgS4792d35ILTKQd+tXXolXl3lgFc13DKxtQnjxO3/DcmgN7wiXnr?= =?us-ascii?Q?YvTSPaMUpBohwqlfuWshp6RtbLiF8wpc7I9VaQ5QU+mGZGlPYFMo/MGhYJ1U?= =?us-ascii?Q?mEnnfv6leSc3F+bU+6lQ7RMWaSlFa2o8jG23rD7W+mDjJnsuJUkFzmFAPipG?= =?us-ascii?Q?9G9/uUYz/5i4VBK/cCmxldOJG+MZ68lMa241nIVxAsATxycExZ2hTsbWO8Ju?= =?us-ascii?Q?XKN/1Hh898Zy9zDbqDVCbLCyNg6Z7mU4ddyNC2AKZGClBTYxIdpdgxtbgsE0?= =?us-ascii?Q?v3PMaRLs9IHVSxnblbKwsSSzVYsr81rDgxKUhvd2DoJvFYiCvSF4NtS1HnGW?= =?us-ascii?Q?Z61y/bTzakvW3EfYRTvqgTqulriztMOACknGexCwg9IDrCALqgY6r9DPBZFw?= =?us-ascii?Q?83QGhYkRYm87dGvgG7wcNtCZLhgikYu5MXDnf6dLHAyxvCrB2gFgrzy8Gea/?= =?us-ascii?Q?IgpGtt01k78RdKZOKM4Lrdsyk1wZVzk4z/fKKS+f/BJV3G4e8PJP8sYeA0Cg?= =?us-ascii?Q?4D9NHktbgsp8JLQYEQ6vU8rtqVYSGW9+8cK4rkDN4kO3Ve4GEwaCzAodZfMC?= =?us-ascii?Q?+zCH+OoRejPE19cCmBrQ48znT7Y0eedNI9YxzvX5clqpI01ZKz9nfzMmlhfp?= =?us-ascii?Q?CNgoeNkwcdkPLYJvdbqpTmQw8ct7mGfAcXqhs5HrcY5vfxJ5D+TvUK4mnIYQ?= =?us-ascii?Q?Bg96TBmgPH4c0aNHK+72/TM3qyt7spKkDO8NmC4CcGxx8XqgZHog5A/v7uwc?= =?us-ascii?Q?4LHpUjJlRL7u1Tbd/scO+gu5aWp+e/n7EUoafdYVG3d1PezsjwZ4j77fKang?= =?us-ascii?Q?H+s/IRIfEDRsNgOcCubcUxdoLH4fqkQ+lZMRpjn3oPqT05RG5t6brphX94Q4?= =?us-ascii?Q?gdiPVnHbni0iRGubmkNr3wU/XI699IhygSe4LxzoobNBBkxSndg9fEx7H5wb?= =?us-ascii?Q?Bkuwo4GJ2rTbgPoQc5DeEqdeDMdhHoU4075Z0nzlfRkZMz6V7lfKnO1V/XuU?= =?us-ascii?Q?ZPR1qhwz1O16jE8EoevYTY+yt04HgJo9nM1n88kQ6EjbpKuaRMOB8xo8IZp1?= =?us-ascii?Q?wuqKvih96RDk2U9CDHdJIHvr0VYIAPhad33Pi7U7o+1GIUA6YuOfFuNnmXFO?= =?us-ascii?Q?jlhRfLFdIkglDMkWebBZOwHJqaTll+vE/pexSE8AS5q?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 6:zW7xYSk0JbMK2qSMwqntC7Ks1EyjDsF57eOnvvJ8fjUppA+hShh3KrGGVVj8ABEufMtEK4bTWIbVI0mvmcT2aQ+35npGCVkwK/oFPSwc+7SCra8difr/x6b/uSpMLjaL3fdRqdgesghYjW6KxBXNa6VP/NVrnGK8nRmUdX0X/+Yx7XPZt3jxogojkAwgbqgmIlEXtT3og0xn200sW8jtIqCRdf6yJyGNapFaX7YUrdlrtZXcpP+rAHkTBikP/u1eeKRKMbUY/jSV0CbTYc0PBoDopwTY+uSlBTBTbqyJzcN3E6vDUyl4/zF8dvPXtQ9Sm61TsQuwSCS861HurKewXb43zOmtvaA+enb2DYptoJg=; 5:tr7xmu1GWxFeqHYrBZFS5xyd0tkjtnd0yp4DIONiGEtswL1TmfoTMmspQRARlGTjxTgAopdi73i1wYvkmp/aXRBOk90meN0c6cCzLAxCucP/mt5uAqKipTh1m3vWgQlovSC8NkWd9DjVKr4FoJ591UfQHb0sU+sdjD9xL4VgeE8=; 24:0RqujBvk/pzg9ecwvc3McKt0PKuVCHzRfOymeEeKIhOgCZx6rzaQfKLexD9qmXJ2u1vIACOxu7NHmcIOmFqq5uWMszMKMqUg99vvmJerCpo=; 7:U6gLwBkDmC88M/JVTRQJoPrU8LxnCUgYOvLggUuypCTbsNypBT1HdCaQvpc/ec/fRe0vn3GorDHQZ0+V44qJrccPNTSw40iohmlZZDOufN4zWY/O1Y8WSAKDEcLtZPwzJfLE0IuATfr0jSuQvLpBr2UYzG9PBX0nH5j1fNnn/g4Mfp1FAegMGyqk/+COQcqepKwyJf6muDrAWIP5Flj/Ra0S7ymJ4pAWWZ/G8ojV9LSxJvAULum3ajo8+4DhCN+9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:i7g0NTEnw+5odNIAIp9i08WLXRhcD02lnktneDs7pHEXmMWTe/YTBJBOWshujpEGsfLjK5zQBu6QCgiLMV76aQuCLyJdaJ4VZOXrjZnZwgj/P7V7kHpVlUO6KPcA4X7vjMBmkN9izt6cAo2ZGe8ZrrBOsIXw+MTwsn3fHsZOWxXCz1AVTneqYQS3ugmVd/fGRFs53u152SEC4fSxq0TuZqsxh97VY87xV2qkZBweMLWfr21WX79RKb7G4wcTcktH X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2018 15:38:11.3878 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 689baa75-2eb8-470a-4d8c-08d5722ea064 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0146 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.55 Subject: [Qemu-devel] [PATCH v8 07/28] 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: Peter Maydell , Brijesh Singh , kvm@vger.kernel.org, "Michael S. Tsirkin" , Stefan Hajnoczi , Alexander Graf , "Edgar E. Iglesias" , Markus Armbruster , Bruce Rogers , Christian Borntraeger , Marcel Apfelbaum , Borislav Petkov , Thomas Lendacky , Eduardo Habkost , Richard Henderson , "Dr. David Alan Gilbert" , Alistair Francis , Cornelia Huck , Peter Crosthwaite , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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)