From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752732AbdJDNSt (ORCPT ); Wed, 4 Oct 2017 09:18:49 -0400 Received: from mail-cys01nam02on0084.outbound.protection.outlook.com ([104.47.37.84]:31550 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752422AbdJDNPY (ORCPT ); Wed, 4 Oct 2017 09:15:24 -0400 From: Brijesh Singh To: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Brijesh Singh , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Borislav Petkov , Tom Lendacky Subject: [Part2 PATCH v5 22/31] KVM: SVM: Add support for SEV LAUNCH_FINISH command Date: Wed, 4 Oct 2017 08:14:03 -0500 Message-Id: <20171004131412.13038-23-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171004131412.13038-1-brijesh.singh@amd.com> References: <20171004131412.13038-1-brijesh.singh@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR2201CA0056.namprd22.prod.outlook.com (10.172.59.30) To SN1PR12MB0160.namprd12.prod.outlook.com (10.162.3.147) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b75e8be9-a134-4e75-68fb-08d50b29f6cc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:SN1PR12MB0160; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;3:SUJZ822PxLKKbdihiZAFRHxOaGm4ajEqNkj87G3D/GNbaM3SVmKMbZsCXHKAKejMjsNwXDHoGZCgTVb+0zX+t9bCKCtxAOZ2dVj3SUNvVxo2Szjtevj8FNb+jL7oiAP3uXa+yTYebKLUFWWOSpyZuTcfDYvZXKBW4E+Gqr4RIO67xiMWzmqdBVhvPnP0E0tCsCOoQhdRfI2ur9ONrU1pY9w7OzNuwjlia+0e4JTOoMg6gBAJenyWqa/Jfbp3ZR09;25:fZE++JR8iRSL7BR0QNBBAmyOEGCjU0kjE8dvkDk2IDsBxf7IzdQnDqidMIVWtojzPHxThCaE6l2ELv9YpPa2JniwzBMnc3XhuTQRQ4AOW+zzTqoB0lGRAytkXyQhFIDqAKhvB39w65+d2c9GSSLHkf0tSvZ++C59gB77Ulgn7N0tkSxPcStg6ubesHu+WmCBxt8ydFv30suJagV0ohgIpa8lOEo8W1ZlH62pzsz3ScXOEfJhiLHMlj/eFA2+QPrknP3PMuu1/9rwo7bWUzQcMianN0mTB/XCUU1Twq9YcGCxyV4UI9KhQKpKi/hrmX9b+Lw6SiG8dFKImNvOMqRASQ==;31:T558axze1yH5MOZKpY9W59jv9QbsheXVhHY0Eze3qF8fPOcdTATTxmTJVxDhqmODoHzNdVc3B6HI8uvtSEAAFYBiQSf1ckp6IEjWBHv1b7TQc6d0YXEhBJgHEe8PAq25NaTAnf7J6NTD8TVT4+HK8PckAc3L24+s7YD2ZVB085eRin4uU7c/GfxrRnBM1t87u6gLRbVVtZ0bYml70ynFKWC36+PIguzVeYyxSdWMEzM= X-MS-TrafficTypeDiagnostic: SN1PR12MB0160: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;20:DoDosBMx6upUP7ZSXrVHkN+fJOvf+qBz4vuZ71KKoJYgmccnB4f491ZeqEv/yUQ8wgJgT1yJfAt/RKVmGSc0Rv+Bql/BB/H5Pgf+HD73SXEGp31i00kdgxc976lfeMyHRta9aR4PrqoJhq1fvQ2j6SzeUkzKsjku7K81u0SBryYluMj8h2WfsWI+ASc4bexPMdPz/fu+Bn+Rn2ZOpdSanoCORF6bM+23mIrSwXGTTQzKdMtqmYX2Sx4L14sQUsnUPhnrTHEXyAWi00dv/0VKO0RK7FyebUPQx9eFu9dzHvLC50NfNd6pyOMNrwpYos06Fh8yfYf2/H1hhz2sxyw8TkxyExitxnv7u3Hbk0McHu6LF/1NCHsfyLxqLNHXBbQLQqQq4jfZSsHoBeLutMVgmfDGAMdTBhMiRsv8VXWoQ6nP9IgMzIYhX+UIlBUSYx+63uN/C7CTHafZIuwTj52Yx/i+Yd0uyVO5VOQKtyN7sDmUlOgIfTCMMX7JlI34m7nH;4:fK2IoU7i7RjAZjKHLMQvZ1E5/zFii4e0Q9h/BTOpLZmeYknhTC+oKAXtmv2a39v3UeIFeeEkDimEGwXyGD2xw4a7Ic6/KSrGYZujLhAi7r48/OzUajmY59mMID1IiylK5Q9IW/aox6XutNX/7mus098HLBxMdZBD9V0HuRPCSCBXD4zCOIwo6R4jhiBzJtl+P+zgKW6xJlQtOKDB18L7XDPpmU1BHewqbITKl8ZR/tcDqSh6rzq4m4nd1Wgcv9hh9JNowjuMsNYbS1d94pi8L0zYc1X9Ixl7wzheoqWZoP4+1AGPyfzpbX2YueSufYFj X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0160;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0160; X-Forefront-PRVS: 0450A714CB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(575784001)(97736004)(86362001)(23676002)(76176999)(53936002)(50986999)(1076002)(6116002)(3846002)(478600001)(36756003)(47776003)(101416001)(33646002)(6486002)(66066001)(189998001)(68736007)(105586002)(53416004)(50466002)(4326008)(54906003)(8936002)(305945005)(6666003)(2870700001)(81166006)(5660300001)(81156014)(25786009)(2906002)(8676002)(7736002)(2950100002)(7416002)(50226002)(106356001)(316002)(16526018);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0160;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTYwOzIzOjAwZ0tRdCt3RithS011NEQ1dW04NytiYnVm?= =?utf-8?B?dmlOSDJFTTRIMXRaNkJvcFJ4Q1k5K0pxbDh0b0F3V29UYXBMY3RXRytOYzRH?= =?utf-8?B?TWFLa3NlVFRmT1NhNE5xR2dMWWQwYXN6RHNKOEkxQmlESjJFSC9nd3hGSHJG?= =?utf-8?B?a0lxS2ZlU0UzdzRWOHFWcUpvUklvek5MSnZhTmh0TE9qQ1A1Y1B1aTZxMThX?= =?utf-8?B?NCtkTkZSajk3QU5YTjN4Szk4Z0Q5N2VZeW9ISFowcUV2YjFYZTM2QW5PV1lI?= =?utf-8?B?YWN0S1Ywb3JxdHdKenFUOXFqNXZpcHo0VVcyNnovUStWeXdGZUduRHd6Nldu?= =?utf-8?B?SkVDejJPOGU4OVM1clo1Y0FsS01KZ3h4eFBqUHd1MHB5bTNQTjhXSmVYQmhX?= =?utf-8?B?Ym53WU5uaWZoWThieW9OYXA2VkQ4ZmdsZWI4RVhUVFlmMjRMU2w3UFZtdFZI?= =?utf-8?B?alNFdHZUZVlWVFpPblZVdDhOY2prU1pBVVhvQnVPSmg0R2NRa1dHYkk2bHl2?= =?utf-8?B?Zzdhd0YreGcydWJoM0s3UCtJYTlaYnNwRVp4QkFaVnBLTWNoVkdUQ2UwRmNY?= =?utf-8?B?d2kxRGhyT2ErdFkwWjJLRUU2T1c1QmtDYVhyNkRZZjNpWUllL2RPbzR0a3N5?= =?utf-8?B?VXFRRmQ1Q0p0OTl6N1NSdzFRdGJ0VjNla2hWck4rQng0UEM5M2FSQ0w5SDN5?= =?utf-8?B?TElqUU9MYytsbUZRMmRpckhCRGhNcWo3VWUyNkdRaVoyQUxIL1JZVDZGQmRS?= =?utf-8?B?VEZuaHJreTlyZW5BN3daK0FPUzBmNkNCZUdjNXFTVE1ERWZxQ1lEcHgzbjhF?= =?utf-8?B?WXJ4VjMrTnk3dzN1Visva3R2TVpmcENSODM4ZkM3bDEzZmdSVVQzbld2c0Jl?= =?utf-8?B?bUFyZzNsZFNaRi9rVlJQR1haVGEyaTBDN29RMW81bE9nUXFMSXg5QWFOQWdB?= =?utf-8?B?dGJubkQ5ZUpJYUdnNFNFNFVyam5md1hZNW9pa0dkcnJHeEc5b3FUaFNWYVNz?= =?utf-8?B?RG1vWkVSZG91UE1MNWRwMXltSWVKeHRyaEZuMWNuN0x0WFIvZmNnblJURWMz?= =?utf-8?B?RnhSNWs4Ym5PMm5HTnpFYVlUNTdwb3A3RTJlT1VGZ1lnY2haaGZON2FVUDN0?= =?utf-8?B?dFJWV2NlZUVhTnAwbjNTT3k1SGMweGNpajdUa2s2SmhCcXZaUlJ1L2Y5L2J0?= =?utf-8?B?RVkyNTFDWWxMeWRnU1BYWkpGVTFQTHdZYkJvanRWbDIvVzMwdlVtVy9aRGZC?= =?utf-8?B?cEpzaWw5UUZhcXVldkZ2MWFtanhnNXNpanl5Q29GZGd2VG9ZWTFDTm1ES2JS?= =?utf-8?B?RmpUandvR24rNzNkeGZudkNGSWZ0amE2VjRPQUE5Y0JiTEptTUtpUDR4UWJz?= =?utf-8?B?UU5DN3NSQ2hIUVdTRDljaDMvZjcvek5OZTBOelBGazZlL3hYZFA5ZUdHc082?= =?utf-8?B?TGVFa1c3Q2o2QkJMSFVxaXh4aWx5THJHTjJRZ0d1WkYzbU52NWFuVzFWdld1?= =?utf-8?Q?17BCVsJwNrlU7Nm3ZQ9axhLn0=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;6:kOWAwelSJCk0rEZE+68gd3jCZWrSWfpBlnyAQ87uKI/vA3smGNIZmYww0VpykNdAKV26ozajIsKxhaXE1Xtg9jMFIVEsgQmUGOt0UzdE/uZwOaI0mN2tuhrNr34RVEuCIwkQ0mxXlfmMq2FwkU7xAV7cshb8JFd4qZIHPc7E+oflhv3vYNeJWqRijbUK8IWx2ZqWhJ86IfDyaeXXVxXN2m7AOXBS7GuD1ReI/b4I73lZu4EDPs8deEFcKx9LbVUuDNIKQ0D0jqWnbOl6FpFmelVSjzlHZ71VSysptYumGja8GxlKa+Qz3eYNamVD8MxuWf4DIbtW8YPXw1gGi986bg==;5:6RnjqAQHyBL8yntzzA7Zxj77tIr2cJeXcdvbGLJd05hdjLNyAF/pDtFbXIUlHqomQty+Xv3TDps9RcpyyXvpOYB+NaTxoPIkCOO/b9Gi/za/CEkpK1MbUAdKTmfa9mGqPZyXCX4Y48iQMw3JnObHYw==;24:Z5zh00RJKQRdbEitFjbfKwi9drybU2uoWDc4kpJp6bTbUFVjNeT/bgho1q1CTFNzqmDqRUp/5eEQLsUBUXt3QTQca7LcHO1sNhIbWSk2B+s=;7:vPJEhnW5DVPGfAWs7Qw1WWTiZiU7S/89geuRbZuWuS1/FPibe0ATyFMP5WYpDg+Cl0L7dDYxgHNJBcpKx5brfJXa9XXBNk5KLPCM/lthq0xIrEwjs8iEWw1GGfP6RXteEMNdiD1dmyF3oZP3xq2oA7EHX9uqM4tQ1kaQb6jZxUQO3Qu9mpCCho/3cFXGzDNpvPko+O6wPyvRbKLGNRVLZWLjiwGIDujN1WhgNwGyfw0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;20:Ip1dyG1CVhFZZEWztW23QPhD+T9qQbUT5wMeiFLXqVJOXR3707ky1NI7YnOraTDRDGnCk77BR8zo97+s+63Gc9cRBWF75ESR5LyfDLe2OhPOAGIJWqk65UgGC6FoatWmwojT+AK1C9Su5F1IRztQlrXaXb81nICbGLw3ckewLZvBPyuFBbsy9qHK2esF6NhK3eqcNa/24Ob8Pd+VoqqIQVbA/Sp7vwKND7bQ0ntjDDzgqIjUbMci4rEvTmsNldkp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2017 13:15:18.9168 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0160 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The command is used for finializing the SEV guest launch process. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Joerg Roedel Cc: Borislav Petkov Cc: Tom Lendacky Cc: x86@kernel.org Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Brijesh Singh --- arch/x86/kvm/svm.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 25bb3cd9b66a..f42707fabc0a 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -6062,6 +6062,26 @@ static int sev_launch_measure(struct kvm *kvm, struct kvm_sev_cmd *argp) return ret; } +static int sev_launch_finish(struct kvm *kvm, struct kvm_sev_cmd *argp) +{ + struct kvm_sev_info *sev = &kvm->arch.sev_info; + struct sev_data_launch_finish *data; + int ret; + + if (!sev_guest(kvm)) + return -ENOTTY; + + data = kzalloc(sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->handle = sev->handle; + ret = sev_issue_cmd(kvm, SEV_CMD_LAUNCH_FINISH, data, &argp->error); + + kfree(data); + return ret; +} + static int svm_mem_enc_op(struct kvm *kvm, void __user *argp) { struct kvm_sev_cmd sev_cmd; @@ -6092,6 +6112,10 @@ static int svm_mem_enc_op(struct kvm *kvm, void __user *argp) r = sev_launch_measure(kvm, &sev_cmd); break; } + case KVM_SEV_LAUNCH_FINISH: { + r = sev_launch_finish(kvm, &sev_cmd); + break; + } default: break; } -- 2.9.5