From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752369AbdJTCf7 (ORCPT ); Thu, 19 Oct 2017 22:35:59 -0400 Received: from mail-bl2nam02on0071.outbound.protection.outlook.com ([104.47.38.71]:59884 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752272AbdJTCfu (ORCPT ); Thu, 19 Oct 2017 22:35:50 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@vger.kernel.org Cc: bp@alien8.de, 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 , x86@kernel.org, linux-kernel@vger.kernel.org Subject: [Part2 PATCH v6 30/38] KVM: SVM: Add support for SEV LAUNCH_FINISH command Date: Thu, 19 Oct 2017 21:34:05 -0500 Message-Id: <20171020023413.122280-31-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171020023413.122280-1-brijesh.singh@amd.com> References: <20171020023413.122280-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: MWHPR1701CA0020.namprd17.prod.outlook.com (10.172.58.30) To SN1PR12MB0157.namprd12.prod.outlook.com (10.162.3.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fb3d5cf2-a4bf-47e4-b1dc-08d517633db6 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199);SRVR:SN1PR12MB0157; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;3:oamr52P84x1tDgSXjIFhJXFXspvmSWQyvJ2GShb/BnCD7mW+9UVcA2lOjj5aJsV5AILbzPQts9Ias5INLinMYbLQNB6aRMVKOWGphpXSjnTyG5x/nbQpXViuHi4YlGJAevlQqTBo2XaK5ZnBV1DS+OYS//8cYiisP+Pbz96FZ61SMmf5hYoSDiFIROLhjI2dBNiKdrEfb+b01LUgyrrpoAvHAx1c/O7aw0dgQtlIiAWN9XDmVP7oZx7MCrwrislb;25:JIMkq3wQJGWJKxpsrE24Cnv7noHPA+twIjC6Xxw4Wi4CYfR43mVoe1VGzjyyvI9UrkDqCVmUJjspbD63ziyaRACJPGIxUtxDcxYGNKGO5jbOYcqVNKnRY+ZkXMQlM2bjGqpS5FQgtQrREJh6XNZExXWp6Ly1oWkSV08ZiiZRE7tMtWfplUNkPfXNAc/m5hIoygkBMlMOXZS+wC4b06w+Fk0rcfIX3MHtlAxD75f7AVdDOwgL35jN2eDQwcX4Kznkal1Ykupa75j5z0GD+9XdQpZ92Jc38St0a3CqUL1N9EVWGaFwXvyldLQN8/+7BUsaebrFprnd50gbxNqk6wELqg==;31:hRL6hv4yQUm1jMHuF+fgFamSbHzFCKTXSAYNL29WzkIWzDurwXydonFuAtcgQBNhQDOPcDXqNCTbObbZKsT+p9uQsduyskBMPYS7HRhECPEnS0VODVZkMrRSM6OuKwnOVgDLtbkP/UNH70gWTQmowKdVCm9AAfyuHNM5UZP/YXSTKVzKosGilrKIfHAmzs+brUdCEja47CFlB9EbxqfKmHdt5CLO+jm+Yk43aUd3QgQ= X-MS-TrafficTypeDiagnostic: SN1PR12MB0157: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:ZLa/DabsxXEnhuprdF+FjnWl2tPeZLtEeI3B+CHewWqX4syYfe9G6YvobDW+P/hWITgj/ZncisNupvdfA/cnS36/1wh7yh1uCDsqp5wNppo8Sh8Aru0C6PKcsHZyVxPby8g6AmcxxgupmJNIwq/XB5k82WCCwkbr9WjpV/9R7Kq2dMyqaEuosn9gtmAEgCzko3/0sbXDvr6GbqYcwz0Wco0Dyuh53IyhHb5vAfSsJpGkaekPtvxScCsevSqpiQ4eL0amgAaO9smtBka3c5+FWt9KiVT0p6LW/Qw8vGABr7w5KBkEMQVvktIi6QiuZgBMe+cxvVfQqyepKn2jF9wzF8uL/iWwmcam/8tCKXmIz3eOB8/L4Q2KGECE0ysQbdhszeHH3POgjzBRqD07/u7e4EWatkgAswcCmazIs7P6yhxqZo1jsSs48lMRX8vBDOfv8XKhVFGW4Aew8A5ePgqv9CA2eXRrLzwVv9jHNtWPLPl9wNYxt2yXLWxpk4299ahG;4:zUqt82+adZM/5Yb61BofY3b3P96c5tVxDb5UV8EGfvcS1SekOB44+vDdMLHC0qYVT6n6kf3wp2FevOfoVoXdvDfCf+bu35miBKf4mJYZ3xhLWjSL4KyekpN2/FHLNMn1Q7IXxg9lcLG1E8BRVLCt+0+7Yy0jZs6dSvXxy266DzzEGEYoGO8TyalJiUu1TYkXNqBuTbM+JDh4NSi+GJV7vOjMElozXRNvy0hekg+T6OS0Jm6QIOL2+k9Yc9VlV3FGlaUSW+TtA4zUp/lNDpONXCQqFyZ0+IRrgD8O1BXYIG9JP3gFsIaOcofx52rLsdnV 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)(3231020)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0157;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0157; X-Forefront-PRVS: 0466CA5A45 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(36756003)(7736002)(68736007)(50466002)(1076002)(478600001)(4326008)(16526018)(316002)(53936002)(6486002)(86362001)(305945005)(53416004)(54906003)(50226002)(2351001)(106356001)(101416001)(81166006)(105586002)(8676002)(2361001)(76176999)(2870700001)(2906002)(50986999)(6916009)(23676002)(66066001)(47776003)(6666003)(97736004)(6116002)(2950100002)(189998001)(8936002)(3846002)(33646002)(81156014)(7416002)(5660300001)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0157;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU3OzIzOlpuRlV0alhraXBYVnhOSVk5YW1vbTZaSmF4?= =?utf-8?B?b2dkL29YaUxQWjY3Qm8yWXFiakMzT2FKOFVITUR5RXBrWkdkRTdsR2lJU2pM?= =?utf-8?B?WmhCZzRhTXhkNWhySEtVT2d1UGVjS2RLRXBDbXBqd0V5bTdpQ3IzSkptN0Nn?= =?utf-8?B?WEtUSEF1S2RXS2tvemprRU9ubCt1WjhDUzd6UmF0QlRYWkJxQi9rbzYybXVK?= =?utf-8?B?cExrRXR1L2V5bEVNSklkNEN1ZFFpYUxjUVhjZ1ZSUHAwcDJWalhuSG1oZk5H?= =?utf-8?B?OEgyTUlNUEVra0k5TStIbnhRUFBlSTlMVXVQc1hpL1ppUmlnWWlaWFNzRnZq?= =?utf-8?B?VFI1UG1DNTZSenRhK203WDI5L0xLenlwaEFnNnhwRkNjTEhzVDZ6UldOTUNT?= =?utf-8?B?MUt0L015dVBIUmRnUFNpT3RvRVdrL3Juc0RJNUV0THZvdnhzcHZSYlI5UjVo?= =?utf-8?B?RkxmeHA2NlpLenNublpDRU4xVW1jT2NEMmh4aWpWeVluMGJkelppcDdIcUll?= =?utf-8?B?bUZCenQwRU1Ma0xJU21nVmptR1dveEV4aGFBbC94QXM3MWt6WmVvazdZTllL?= =?utf-8?B?SWFwWStHUUNYT2s2WmNvdHdNSTlDK3lzQWVaVldUMUFMWlBTSjBIWkczbmVE?= =?utf-8?B?V2p5cElLV1ZkTnUzZzMxbjJnVVVuKzQxQ0hBT05KY0daeERGWjBudGVIZGVZ?= =?utf-8?B?SXBWandPWFpDcFB3eTFDL2dKSGNCQ2lWbU0zMW50cWcrMVVoblRyWlA2VUdw?= =?utf-8?B?SGJxTTc3Yzd1NGpaZkd5eW1CbDIzTlFxYndFYWlXbW82c28xS2JLUkRHdlZN?= =?utf-8?B?M3dXVWg2dkNSdmpleUpkTE1FNVJWcUVRb0EwaWhmOStVazFTNzk5UUpiNkVF?= =?utf-8?B?T3JVZFVSZUN3dFA3Sm1vaStOQWJqTTRyZkNsbDQ2RDFuYU9kQlQwUEJQaTA0?= =?utf-8?B?am5uNDFlNjgyVHBvSXNYR2szMjFwN0ZVcUtLdVVtQjBKNmdoUTc2aTlMdXZu?= =?utf-8?B?YkU4UDFESDc0amFWUFlmWjYzZ05OLzQrWTd3Um5ZMDN4UDhROW8rT3RLWlRQ?= =?utf-8?B?Z2ZaU1E5K05UN2NDdGdXaSs0a0J2MVV4dlJ0UU0wNFNRYm1QOTQzSVRhN1FH?= =?utf-8?B?Zy9VMjhrQllXSnZRMTlqSmxiWHhiQkFueUF0MkFEUTZSRU5STGpkeHFRYzJS?= =?utf-8?B?QmtFSldZak1kSXRnRUR2aW5ZMzZBbEdUYnc5UzByS3l0dWMvck1PY2dUeEcx?= =?utf-8?B?M0JQbnIxZ3dPOFNCNC9Wd3FjTVhSdjhtWjF6akRVL2JQQ3ZYajZ4UkZXR21i?= =?utf-8?B?c2cxZEJVN2l3VnVDMURmMkF4QVVBMHk0eHRLU1NrbEhITVFaa1JyZU9kbzZ1?= =?utf-8?B?dkRFK29DWkpmS2hic3pkQys3SUE2NjB5SkppbUhBSHZZSkVqcWtieHN0cUhE?= =?utf-8?B?Rk5Rc2VkaTkxc2FHcEV5cGI5bVNmTjZKOFpDVENJMCtzSG43QzRyOW5FQkNm?= =?utf-8?Q?nY5tXAjWgl2Ww+85Wl3elrqmkuPrVCAm5SrkdeNTufDB2I?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;6:ywN5kGMYEJgBOHnI5fUUWiLjtoQNurQrCex03Pew1kercxIHv4J4PevHq4+g2gl8i9DyErPHur7F8Svlqtt9BWqDn1k0GPOi+rCAMUfDBpZ/ka64G+78JpVVQCnpBUbyhZ3YNbEqFFTioB42h77ql/mMIYp2AmU5FY5miuLzAUbzYKb8cJORnuaRlnKX/aboltNqL/TGfausmEZtCiA+gsXARusg36cRCamC7ZgMw0uw3qUV/hi7jQCg1dKnGiAblAt/PRMRw+c5mtEs4tvELTPX9vIL0wgK+ob2Q/VHH+YG3tGHmvuFhOLU42fYsQEjsMwvj5mz/CtqF4Hr+iIQrg==;5:3qv2IlDUthHhQI+xIXirZkK9jyspYvqWqZJBXYa1ealI/TSu7zbxqYNSl9y5IOr1Jcc6MtMu/810LuewYoFfk3ejfd8JHqfhDRg0ujBFbLpDDSjnnJeGoZHTm+sfklTmDiiXmt2jE+yw6pWI3KvYbw==;24:5VrstT6YyIohZcmrBHOA+bv7YdU5wo2pkyyk4Qw9FpUxYDK5cRv39iDr10XzxegOyYoVhZn2qtiD84SJGXGpdI2H36YK1fUef/dfdEUEQu0=;7:GNE/xP1fiVfjggSgtNKAK+csL7fKGv3OiMr6c31mQ7KMBcUPKiFtwX7GqsyodswNGdModDpLLwPBxcpF7cESbnXjkl6G4WYVSZS65T7zp9Dm4bnvmRWAdrGRjsTH3BSgJSOEVxL9E2m5xRwezuRenuc0SrUE4yV4pPL+vp3/6RN+yAPWOXjA5b2ScUhLel0yVnSs4cXXtnCpRXRYBuwFI0v5xe7Vf7n5m0OhuiMLw9Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:1vwB6Y+V09ErD0eLJDGuHLj70/2qb9wQKsA6WBowfQ+8S4rwBOsbr4AIWfnyXJespOKTLNqRySYMU6Ho2ZaFhm6GeRP3bdiFHEQo+BMg51blFkkedk3MhhQ1RZTOFNJKfQS6o2RSonlFddiqAPtmJE2urKoF3w8kjljGC9NJkVjtqLnaITBqfj4xSnoLLwve0GYWRlotMtyZCCTfbPhUDF/0Aznz1vQQAM4qtIUq0QleMv6lfYBw2RHVrCIttV5q X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2017 02:35:33.0346 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb3d5cf2-a4bf-47e4-b1dc-08d517633db6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0157 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 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 3ab2d4ae11ea..5ac290b845b9 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -5973,6 +5973,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; @@ -5999,6 +6019,9 @@ static int svm_mem_enc_op(struct kvm *kvm, void __user *argp) case KVM_SEV_LAUNCH_MEASURE: r = sev_launch_measure(kvm, &sev_cmd); break; + case KVM_SEV_LAUNCH_FINISH: + r = sev_launch_finish(kvm, &sev_cmd); + break; default: r = -EINVAL; goto out; -- 2.9.5