From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758048AbdJKUxz (ORCPT ); Wed, 11 Oct 2017 16:53:55 -0400 Received: from mail-bl2nam02on0062.outbound.protection.outlook.com ([104.47.38.62]:19482 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753039AbdJKUxq (ORCPT ); Wed, 11 Oct 2017 16:53:46 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Cc: brijesh.singh@amd.com, Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Herbert Xu , Gary Hook , Tom Lendacky , linux-crypto@vger.kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Part2 PATCH v5.1 12.4/31] crypto: ccp: Implement SEV_PLATFORM_STATUS ioctl command To: Borislav Petkov References: <20171004131412.13038-13-brijesh.singh@amd.com> <20171007010607.78088-1-brijesh.singh@amd.com> <20171007010607.78088-4-brijesh.singh@amd.com> <20171011170205.qpu677qiqe4ludwm@pd.tnic> <20171011200444.3njniblsvxn2vhl6@pd.tnic> <20171011202836.d3ur3ndrnea25ywi@pd.tnic> From: Brijesh Singh Message-ID: <97ed3294-a06a-58da-6531-cb30c7154726@amd.com> Date: Wed, 11 Oct 2017 15:53:39 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR1001CA0001.namprd10.prod.outlook.com (10.174.84.14) To SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb4de330-ad46-4fd1-1a9c-08d510ea2964 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:SN1PR12MB0158; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;3:dZGrZah9U8ClkdIRWFdJAyMPf3RRYJhluzALCVi3+DFehYXxGS594WLZBH9dBlwqbQlvOMtZr4xgIsiGuqzFbNvE90rK/liHGkWTTGyPLQIkZqBDyxN7AgEjmVFYyci85VfswPJjizApcHyumb0t2TYu+mi2rLBI27jn9hKGuC0dCu8En9+rn/sASGCCpwMTmSm7/jN18ZOd8yOiart7FnqFknBFtiiV1mmPCJZ0HV/4LAaQwv/ayPQPL9GkQufp;25:P8YgamCA49EFROfV6R9haMuUQXZn8K5faYkpURc5NcYYE9U3UZdgGSRrSLQHQPHJeQQJ4IsaSgvtqywRQxGycf9e4BqhE7Xl43V9czC2ODFkIcKAkvs+XH6HSTVApqkBlm1xHT1vygnlTBy9D5BJBd1FJ7tpBvoHqgOTPy/8o9eD3YmVdK8rYtIIzsWPn9vZvZoSJdly0A9vjTSn2tPGShSlbyJ8C5/IzelnTcYAPpVAESPi+y+usOkVKyX8Ov+QJ5JRX8TMsCu5/QLCEqhvJOfm/DcA4i94ixBMqb4MRYNLNnsEynoV62eHwOPl2Y5pbIx21GVRgeRW/60oXl1KBw==;31:VCZ2xIW2sZJRyV1aDaCWlS67GL2Jq5iHiN0U9Cov8wGmU5kixR+EGPNRg6ORUwqnaVa3hHMachtQhiea0KQUc6d5sgYKcYrd/6/Jmr3BOfCGrwbaEuO52bkW3uprpkHexo9+4RT5Kdra2q8/DeZaGCgBkLQNR6G26iDa4w7dhT270vUg9f6hoe8YTSuijvXArLQ/42GPSen44RTmLax2UAB4trH6Wq/tcNxJnwRtc8Q= X-MS-TrafficTypeDiagnostic: SN1PR12MB0158: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:lgRZmktji4+ievh2chnPg+upxQ1pxF8AeplpaD1Yt1l72wn4lXmdUbgTyIzDFVwzGnjSd6yFUHZyNzmb5p8gDK59XROMcaBucKwSrB+3ZFpffxVjklT9FsHrCHGxF/qRxti7IEhU8eQQ/cOQv01Xhx1m06oiw7vCmFvCaU+VTXH0LeymQYnMujUnlZrV67jHoE01lNXZ2Fz2CdVQ3qAHbxPSkaI/nTuc1+7sqZkYAEdmW6SyTBOabbTuS4Nt7+Y7FmCKzZoc3EztipZytYKfngcESNM49acVBXhj/VwZHHJDMlCreEJP/uAx4qHsokPk0MIZJT445Su33XfBSMtW6Ed8UzYotOeSFCl6+DEjZ03vKz2yDfb61jrlcqZY5w7VwOfDS5slWLbLxKILySfa5N2NXCPZ321XeUZ9Fj/E6dhjYsZx26d5Mj6a2zfRhNSS4eQt5mGkJGEwZoCSF5KMQvHzzQwpts1seO8uAA7oXsT73D2SBXVUPGCzk9MP2GSG;4:1v3yCX74fmLJqFE4J7EN7C/xZxql8NyEs1Ue4sVQoXPmqg5AnXaKAoa2TY3N4zn9ADYDV83gQSyXOzApaAntoWzaZyI00/Ur2Dw7LDOeQ8zdJKlhUH4tWsuUYbMI5tVWGr4ADUGKA8m7DQjXBYpc0RpzlPV5Vw5wnOSUMDfXUSc8IS27UvER0L+5YgXzFchKpiUGVmBiSqwyuUwQrx7Pu4Fdq/+mBgGaJrSOeRkfiXpA7bAp9+RP5whaQ9uWdFED X-Exchange-Antispam-Report-Test: UriScan:; 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)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123558100)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0158;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0158; X-Forefront-PRVS: 0457F11EAF X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(346002)(39860400002)(376002)(24454002)(199003)(377454003)(5423002)(189002)(65806001)(68736007)(76176999)(8936002)(31686004)(305945005)(47776003)(478600001)(50986999)(54356999)(33646002)(7736002)(50466002)(105586002)(189998001)(93886005)(81166006)(2870700001)(106356001)(8676002)(83506001)(58126008)(77096006)(6486002)(53936002)(54906003)(3846002)(6116002)(16576012)(65956001)(97736004)(66066001)(316002)(5660300001)(53546010)(6246003)(229853002)(101416001)(64126003)(4326008)(90366009)(65826007)(6666003)(86362001)(36756003)(25786009)(2906002)(2950100002)(23676002)(81156014)(16526018)(31696002)(6916009);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0158;H:[10.236.136.62];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU4OzIzOmE2U2dzNEVXL2tQVUdub1RvcUpFSTkxZFNH?= =?utf-8?B?MitEbkhZazhpM1A0di9NQ1BSUTRNa3RVcWx3VU94Qm9NSFNQRzBrNStkbGxv?= =?utf-8?B?Q1NiZCs3ZWg4RThpenJnbjczWFVONjRMZGE5L2FnRmIvNDRud1BrcjY0QUZ4?= =?utf-8?B?bGNxeUZ6eElCSlZJSVF1NDl4enc3aVFPM1RRTHRnMjFySEJRbGY3MWJUQ2ow?= =?utf-8?B?L1NaL0FkVFJRc0lOL3RNeHc4UzFGelZXalFUYWI2a2oyNkp3OFV1R2gzRTlP?= =?utf-8?B?ZnpZNW5SbGJqelIzZXhtS0tOZFk1Q3RqV0xVclB5am5ZK2dDZW94dmZScTRy?= =?utf-8?B?bE4zVTRSRWRBUmJsSzRic0FrTVNYVEE2T1dnK3d2eTZIdWNVbW05Y0JEODVw?= =?utf-8?B?czY5NFBQa2dyTG9XV0lCM3dPSmliUys4ZU16VEhYeDZPSGx0bXVEd1hFKy9T?= =?utf-8?B?Y2I0bmFJQkV1WjEyOFhTdDVSNDIweUt1VlROc1NmZTBJcDUzWlhFWUU3eTc4?= =?utf-8?B?L3g0b0FBOHd4YzQ3elNLQXZkNkZpUFVSdFNDMXdjdUZlVzVhZDErUTlNZEFo?= =?utf-8?B?S09ldERaZkFSL1lheXpEQ1Jka24yNkZldmxqczZWTkNTYjVQSUFHa2NvczY0?= =?utf-8?B?dU0rbzUrd0d4V0REUDYwVTgyM2Mwb3JEcDN4Qzl0d1FIMGdHTDdhRUpYakNG?= =?utf-8?B?V1BITlVlRW0vRms5dEd6V0xnMHJDYU9ONUVkTFkwUnZUaTFOL1ZEaHhJaVdS?= =?utf-8?B?MFNsQkdJREFXWm9UZU5oVjBqUk1CRFM4cGNRUzVCU3FDTXE4MXM2Q2ZjWFUz?= =?utf-8?B?Y0c2STUzMm5LUmpaRmd3NUxJaDJIdnZxZWZSOXJQZFRZUmw2RkRYZWZVVy8r?= =?utf-8?B?SWFYWTl6bzBYS2M3VVBYcThPa0dJVU5BOGVDQWdHVWxXaGFlaXh3WU91b1lV?= =?utf-8?B?NTRLUFBPT2ZpbzRnUlZMdVliaDhuVnlwc1FKZ3VPRTVLc3NuSkJYNklBYmEy?= =?utf-8?B?Sk1Ja2JvMnJsMy84alBCUlRCZWxpWjdqRVBoSHRMNS9NZmJiclM2VUVoa3h0?= =?utf-8?B?aDE4Wjg1dnRxMjRJOXVXeGJzQU9GbDFRY3FOa3lUSjdPdStnNXFKU09rMk5i?= =?utf-8?B?TU9jbDYzdSs2MXZtbWs0ODl0M2ZEaGNwdlFzajdya1FpU1pDakZSRkhINHor?= =?utf-8?B?RDQxSGRncWtuMFpmNW1PVndOcEgvODFxNHlwS2MybjRDTlhyMmgxUUw0RGI3?= =?utf-8?B?YnZWNEFkTVpJbGhhRHIrenVxYlptK3A5Z0RDQkxWcitvaWVzTFpETmlNcENV?= =?utf-8?B?MjZwL0lJVnNIYVJaRElMSTRNaE9WL3dOK2lEOStQMnhUWFFIV3B2eWFCQlhq?= =?utf-8?B?UHA3U2g4QzFLdDZQTDBQWkNtOFlWTE8zVVVKWGx4Qk5QZFpMdFNQWndUaG9v?= =?utf-8?B?L1dFTzIwR3FGd1JRUzdXQUtoMnhLVHVoOGZpWVlYVXpSUmRTNGwzT3BzTU91?= =?utf-8?B?MEZ4YjBMQWZXWXp3YlFSNmxPMXFLMnhiMHYzdXdGdm9HN1Q4MkFua0M2dW04?= =?utf-8?B?RmtHVUlGUjB6bVZnZmZqL0Rya3VGNlo0d2MxQU9LWk1vQzdGSmk5Q2RWbG1F?= =?utf-8?B?eDU3WUdNengwdzVJbFpoYnZqMWFia1llc05HWHRiK20rVHhUZ3hLdGc3bGZC?= =?utf-8?B?cEVsYU9vZmxhTFlvWTFxbkkwd1ROQUtkVnFXWEVKNlRRcXhuWWRwREVqUTU3?= =?utf-8?B?cGZvNXFUYld4K1plb2tacldZY2Exb3F2c05OaUpra2FneTlENDFPSmRMTnhQ?= =?utf-8?B?SjJGcDNYT3RRVG5UeHBqN2dLaEhSN3pEdy9qc3VvY0RXTGRxeFZma1d1Mmt2?= =?utf-8?B?akthOHM3Q3l1bGFjdi8vNkJ4cE1iYVVkRVJobHZqVnY5QkIxMEFUeXhobllX?= =?utf-8?Q?fVMZWILFG5rM3a0OVWfi5ogtgG0HR4=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;6:OyGwXTIGjX4dekOnmBUwqQgYacu44IEMjapbGk6Duv5ICQRv0OBOqOXkQn4WdU+rumFtzb6Lrm0aYZwP6m9LffXaX+TCD+txz/tuITJ0zyPlfbQo5qj8d1JRNnr8hY2Mnk/MioMaGO7IK2boRdwL4B05Wm8gbPoog2UebRwVxYCds0AN/IJOdR68S5O6Rkpz/3B9yZTbI1Ij2rVHzDE4aE+39tlKTyoz7xpHUwgnWa1dA/ZYXQ2LoUKPr1l5f5oNezMeV6TWFrsjDc/AxZr9z3vqhOh4/MjGfro2wi7J6J1HsKuPuCwPz3yBYgiy3ej+oHv3Dyho1qL6V31PtJyBjA==;5:1I+0SExxrceOlxNNzS9Ht/gS18WHUYe7IDkkECtaLv5gaVbWFKAqSmlneDM4qnFabzgJHdNfMM5KfdSociQdqC9n64xhCMJlUNw5b6340jIW7ntBnYFvbpF5Qxg4U4YEFy0kfIyQlgpUbn/DyYeTQw==;24:EhVLz+GwWET0EXsLj/ygKjggHuyCNKPxFPnC9uaeBQnjZGB4ByatFMm9k7wz8ZgMgpvEN626bkzk9g/2W+vuBmxoaLUBw5d6aKZGnpo4wIo=;7:wGSlstOHwfOUEvkupsUySxGASW5S9upKfxQ7fa5GjUjRrqIQb8kzfFfORm+ZMp9R3P1eU40HvccV7FD5DZhQZqeJfPDlBubyNqiyVCgRTP8Kj0RLAfmSw+IC0WiFdCpfB2YKOz+Q73fa4rhzNibRsulOX6QBpJ802rvvXoVPkAfxrdaogZSv71zjfY9BRTwnllD+09P/8/xX2dTpkB3RUC5XRo5lTMJnw+RxGhdW7pU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:oFbTcGkkv8t5BOFcprpJ2Sv26ZLsdtaJNGmM13jJ46eX90mcCzysqNqnF4iX+F+phK8DMcbF+XC9ToS3GY6zQDUlRwdMUVGzzNiwHMgexGAAeXr2YUHU8sUQ3C0Hz0rH7iX0vr6Yae/YXZ4i1YswEBSv4YdGjTNDpGFAW07DUYH2hqrEH0Ol53gk8SNK1JT+kYKBdSqn8Tx4icdiNS+RKRuGzxiPJN0X8UgkfFrYoF7Q7iAeBRLpsYX4BYFRq0/D X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2017 20:53:43.7173 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0158 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/11/2017 03:45 PM, Brijesh Singh wrote: > > > On 10/11/2017 03:28 PM, Borislav Petkov wrote: >> On Wed, Oct 11, 2017 at 03:10:49PM -0500, Brijesh Singh wrote: >>> The current 'struct sev_data_status' matches with the firmware names >>> and the >>> bit fields. Only thing I did was the fields with no name is called as >>> "reservedX" >> >> Ok, I see it. So what you actually wanna do is: >> >> struct sev_data_status { >>          u8 api_major;                           /* Out */ >>          u8 api_minor;                           /* Out */ >>          u8 state;                               /* Out */ >>          u8 flags;                               /* Out */ >>          u32 config;                             /* Out */ >>          u32 guest_count;                        /* Out */ >> } __packed; >> > > OK, if userspace is going to pick bits apart then how about this: > >  struct sev_data_status { >          u8 api_major;                           /* Out */ >          u8 api_minor;                           /* Out */ >          u8 state;                               /* Out */ >          u32 flags;                              /* Out */ >          u8 build;                               /* Out */ >          u32 guest_count;                        /* Out */ >  } __packed; > BTW, I kept the build name because KVM driver prints some debug information like this: pr_info_once("SEV: api_major %d api_minor %d build %d\n", status->api_major, status->api_minor, status->build); Of course, I can modify it to access bit field if we decide to go with your recommended structure - thanks