From patchwork Thu Mar 8 12:48:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10267973 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 7484D6016D for ; Thu, 8 Mar 2018 12:50:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 65EC7298FE for ; Thu, 8 Mar 2018 12:50:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5A1A329902; Thu, 8 Mar 2018 12:50:37 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D543D298FE for ; Thu, 8 Mar 2018 12:50:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965910AbeCHMuf (ORCPT ); Thu, 8 Mar 2018 07:50:35 -0500 Received: from mail-cys01nam02on0084.outbound.protection.outlook.com ([104.47.37.84]:2291 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964801AbeCHMuc (ORCPT ); Thu, 8 Mar 2018 07:50:32 -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=uojUHmEoA+vB/tC+x5pnlAqaU0yESclMPh122/hYrA4=; b=2FR7Gj7RFNzTVd4MxHwlg8akp0ibEy4I/kpcyeFU8uO2+PvsB+6eMzaI3Nk+JIPBSZC5FlygM+oXyEOogNAhIuPUrVSPRYSgVJLO27t3akokekQ7W/mGw3AFEKwT3z8/HC3/1pU9INIR4wK3iZN2xrMxdPB2oIAVwqNn8ELlGH0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Thu, 8 Mar 2018 12:50:27 +0000 From: Brijesh Singh To: qemu-devel@nongnu.org Cc: Alistair Francis , Christian Borntraeger , Cornelia Huck , "Daniel P . Berrange" , "Dr. David Alan Gilbert" , "Michael S. Tsirkin" , "Edgar E. Iglesias" , Eduardo Habkost , Eric Blake , kvm@vger.kernel.org, Marcel Apfelbaum , Markus Armbruster , Paolo Bonzini , Peter Crosthwaite , Peter Maydell , Richard Henderson , Stefan Hajnoczi , Thomas Lendacky , Borislav Petkov , Alexander Graf , Bruce Rogers , Brijesh Singh Subject: [PATCH v12 26/28] qmp: add query-sev-capabilities command Date: Thu, 8 Mar 2018 06:48:59 -0600 Message-Id: <20180308124901.83533-27-brijesh.singh@amd.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180308124901.83533-1-brijesh.singh@amd.com> References: <20180308124901.83533-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR14CA0031.namprd14.prod.outlook.com (2603:10b6:404:13f::17) To DM2PR12MB0156.namprd12.prod.outlook.com (2a01:111:e400:50ce::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1a387fa1-6899-4ad1-c783-08d584f32c03 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 3:77ZJpCxFN3zJhvDJF3pQTInkGIBlzVa2llBQrcDBJKwpkD4eMhjVlVX8cB7Q1h1XkRrLHwCKgd0EmBz6w1mTFXzd70cW88Inzqm1EyOGrpHOAegEpBV45/tdl4yFi/qAdMcuzgk2h6bGBvo/ZOuE95ZRpZ+JzCiUeFgq1uHxuroG8nZv/mpAFDFRywHxUYgSGQzxh8c9BrLeS+ykAp+Br9kSCYt1EKtZBg+iB6X1ecnBQv6+arE6kBwIoiIXecDH; 25:FLy/99w5IJtAPzzVaWzsmE2R76kBMyY7G42zv4mpgHglc1kUBzzUpxdRbHPwkcv3DMYkC6RYXGH3icSFSaQ9d9swfVCzHkKYjcEda5fwxXyTu5aRRY/Q+chRmpvSIUdDUgmpFEbgmD+QySlwH3yjl2ZmcVLwp5vL8gzbmVEi/9nnPEZj6jlYSAoiHZokHTeqBaOm5JmsGUT55xY4akUmVPqln0YLUBzF3Gv3exbL1MADr4F6a9ZTqcQljDhPPurV3gnVT2Wzg8ChbqISxYBuPQ1lxnpCMHYCc+NeajIyGvofyYoiTS+tlkO30/t8kFh8PX6eCaZwU0nKeS9JtXYb1g==; 31:W949GAiIG1o+8cSz1MeAkn/Z0lCr/J4jnivJ7Lbv8jQVRhu86f9NeJrEeagT/4XDbrSv93HIaYniUqYKROFx+mKndDyPC/Cof8NxwQ4CmKIKJbK9+Zfb+1/QRXN+gOqsMcYXFx7WAHDZ7Rc28dKs86/OCNqaZJDQqPPvAm3LMafS2hOEL4+/X65ch1Et1CxAGirDKXUQhmV8v1e5rSF2G029KtXB8vbeTT0+xWWkPsU= X-MS-TrafficTypeDiagnostic: DM2PR12MB0156: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:myAQsU6ZK4/AWqSyhSes58EtHQxqj7uJkUjhR2ipadigHuVmVWg8EvoiugXnNmzuOVheKQTCkZ8QUzcvwHuKAw8Na6mCH8NdtY4Jyn2ZL82Pqay42azbJwa/TrQ/nQpmDYPq2SLr5D7KzckcEfE/5pcHdgFShjZbe+nGqZAnu87WWxfPuqLdibsxYCbL08Jpl+xyZJJFPb3mYlJ8+uYwa+qJ1GoKKt2Wpa5K/muKq0iSpJcSuQBXkJsJUQmRoESRXDCjjcz/4e3NktqFKCELqmp7iX6v+fRq5mvrLBvoPd4hvmbkZqFZyxavgR4gLCzwujheQiz7VbgfB7/AhBtiuv56QzuE7fR+5tq+QbE8jyC3oPzy0YVKrXqFXZlOIqoocET1UJMCaSo6rWEbDNzU4tw7tupjdWn6zohS5QgUMK4E/fc//+mWM22R6zHSJ9BlLj0lSczeRJPt0P2S0pZMUab85oq85UYuQKsc8hgRUVf86AZ5lZPxkRp0crTye2VE; 4:ir7wBXNaR2fsHZhmnZUt2IZJbZ8yQhuayZSeF5ZF2gw8V6VTGZu8y1/Mraei8uDIFe5j+kchn9OQprek4Qv8uzLBDQfFsKq5fHw1JVc3Sz2sRBQYaTd91Ym80LGzvedA8j2LzSSoCFRx2F6vgiJV+OE5IN0aLcBdLJxiJehh/3vCWHHb48II1Tb5sn8vPxEEpwEfs6kpXkNx7vDBVOrZ091dUIDhUi0rF56o/6qRdLRXZKCycho6WpchDu6nWtEzFL6R6Yp0fklttld8ZW13hPIFXxNNRm6SAIIFRru/pWNLNcFn06Ilowi28DbAUIf6 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231220)(944501244)(52105095)(3002001)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:DM2PR12MB0156; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0156; X-Forefront-PRVS: 060503E79B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(39380400002)(39860400002)(376002)(396003)(346002)(366004)(199004)(189003)(50226002)(53936002)(2950100002)(6916009)(2906002)(2361001)(6666003)(2351001)(106356001)(81156014)(2870700001)(53416004)(8676002)(81166006)(7736002)(36756003)(305945005)(8936002)(105586002)(50466002)(68736007)(97736004)(47776003)(66066001)(25786009)(4326008)(39060400002)(6486002)(7416002)(5660300001)(3846002)(478600001)(76176011)(7696005)(52116002)(6116002)(16526019)(186003)(26005)(1076002)(8656006)(386003)(23676004)(54906003)(86362001)(575784001)(316002)(59450400001)(8666007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0156; 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: =?utf-8?B?MTtETTJQUjEyTUIwMTU2OzIzOlRteWZZVEpHdHFoam1YWENiUEdaczdXL0tR?= =?utf-8?B?K29UWnJuanpDSUV5RFRtUmV5aFl1aGpzcUZobDJEQis3ZWNaVkhGL3ovTC9P?= =?utf-8?B?MlZHc0hFdk15cGxJcWl6L3lyOTZMMWljRFZDSTcwcXZsOVZ6c2lXaEk1ajBt?= =?utf-8?B?SHE3WmpjMmdRQ1VmSklrREw2V25CdFI2ZUZTa1FRQ0ZnV0VCN2pra21zUFJL?= =?utf-8?B?OUcwUkNmeWNBZzdjYWVqYm93ZjhIUllQMEhqKzFydyt0TDFHSWdzVnBVWDU1?= =?utf-8?B?TitiQ2pSRWlORVc4S3dsd1E2TTlJRkUvaXVEZFRNemRSaWQxYUNuczRKWXhI?= =?utf-8?B?Mk1RZXRhM2FTYnN5VThFc2lnOTgzdFAvdzlOMGZmQjNDUG9YQk1NeFhHcGYv?= =?utf-8?B?dzI3M0lOdVRWQjVPWEc5d2RsdWxHV2dESlVLQWdwTUJwSTBBaGE1RGhjdElF?= =?utf-8?B?S2U3alRZckdZRUJOaWtUdStpMmwvZVRRb01QRVVPU3huQ2RORzNrYzZHa3pD?= =?utf-8?B?NVVhS1A2RHFPMjY3Qy9iSm5GUmFHMzR6T0cxL1RWSG5nZDB4MVBpbE1TV25n?= =?utf-8?B?VmJuckJob3ZrT2dTcmZWNldLc21jQStjdStLcHRWL1dqaDNDSjQ0OUplK1dy?= =?utf-8?B?VFNSODVUVEU0RnNQR0tIOFQwUWZxUTloditaKzZKVDZQZmVTYUxTQ29lS2JI?= =?utf-8?B?ZkRJSGtoc1FGUy84VGdZZW1RN1lyUDhBdHBic2FPZWxvMUtiZjVBZlFjZzE0?= =?utf-8?B?aTZjMmpjRnphdkNxYk9BNzFSYWVJb3hXZjkraTExZG1tK0ZDTzB1eSsvNjlH?= =?utf-8?B?QjhnbHh3aEZaKy82SUkyeWpyb1ljNFVKeHU0VXVoQXhtVjJTaFJPcS9Ub29D?= =?utf-8?B?NmVrQVF3UzIrTFczR2FtUEFNblRjWXRjS1p1aitvMTRuelhHUHZQSE5MVEVk?= =?utf-8?B?SDZrNUxpNytVbjFQcGc4NEg5Q0o2WmhmeEM2Qkd5Nm1NVzc2WnBCR0tlSXl1?= =?utf-8?B?N2s4RCt0UWZOa3Nvbk1PZmVCZzhEM2g3WW93Y2FpdmFwa0VUNi9xbTRzUVhr?= =?utf-8?B?d1R3TUNwRHhxZ05jZTZ6cnlPU0YxOVhMSnBqY1NhM1Nka1BYcWd2TVhkemxX?= =?utf-8?B?aE1RTlcrWGJ6Uk1HOU05ekVBRlJBQ0ZtRHJuZnNNcGFOUUl0UGJMbndyV29L?= =?utf-8?B?Y3Ava1VoRmlYUFB1NE15bktoZHZLQytMeTVLQ0VQcTdMaDF2VEx6dWxkcHpZ?= =?utf-8?B?bTB2WWNGVGpnbjU3ankwdE9oaHU0ZCtYblBFcW1qUjMzeFUrdkl6dWd2Z1VL?= =?utf-8?B?NGtibUJCYXFBSXhTN3hoV25WcGJjbzdkYS9uM1lyQzg2TmdrQ0JWZGFPRXM0?= =?utf-8?B?alBzYXdFdEtXYklmUy9FWWVFV0tkQ01ieC95RHNKODhTWVVjaGhDblZsVWcr?= =?utf-8?B?Q0FiMVJPVHZmY2ZQbGxhZXdldUNoam5LNDVub251OXNpL0JZOGt1L1NUVUEv?= =?utf-8?B?OXJ6SjIxWlNENjdNb1Q4OTZuRzBKN283cXBnQjRpWGZXZUE3M1RDOTROSWVy?= =?utf-8?B?OUN6Y3JlS1k2YUtQN2N0U2NaS0NHazBwWlhMTy8rYmhWR0RqcWo2d2FCVTlS?= =?utf-8?B?TlJ2aVNJbWhnM1orQjFxVGI4MWFnVGZMWi92OU9BVmN2ZjhFMnlvQWcrNnNP?= =?utf-8?B?Uzd4RlR2ZFlCYjNueTU4NjZXdnRLZkQ5UU1rOWNVYXZ2QXJpSkIwMWRXY1Rv?= =?utf-8?Q?h8mN8fbHQHsZwMabKNZOmTgdtSgppGoREeSOs=3D?= X-Microsoft-Antispam-Message-Info: AYxmxmu/pVYOMMMj4rq6UDPWresHOD4ojwevY6/S52aueIzCyk1aKNxgd9grz82nDyYsGyjdNvuqf5pbu98kVpa3t5Oxz3EFQ5j9dzOC/8rCQOh9UXksYPa5yMbR2S5J/pSm6pfg4LcXGnLXQFcuWONt0QGZiXxrrvH3agXm8plRbwiMDCf4+nGWC1C6eirS X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 6:eC+YG7ldZ+NcIWn5kRc2wXYj/RyCcSeyYefZ3DS+Dyzzhoj6WCgDAYgFNZDyt7ASb2m/zj0N2zDJ9mNUuA6eG+YGTqCbNEyegV1h6MWYao7ZDekySiVUME237wH20WWbQim7fwhuF2+TDappWK00aYImosT3anY5WuJD9l1nhlHhmpKCjoOPexpd7PZT8F24Y9wZIjy8ipcBFrseJYBEpCgsZ2c2BrAWszo+fOOBljF0wkP9+0sTfQRgCb/oaXiDwd4vwtToLHWYKyS5rKQdQvcQCeVHOZneDkoouIsp6jAwkpNunrSPIPKHZ224V93AxoAYwXf1ChB0HpWH/Mme5bfdQV8/CG9qs1RrhJTflJg=; 5:Ijif31MVimmpY9qR/V8UbXKuftwaA9uvM09Ml8xvQsQ1CLmls0pkRSK7dbFwo3mgPjg6bdLn3lpLlSYpr/iXyMQIZlkkIse9QFH0GHhX7JAVM+WOe18GUgugFTKbCteLIxxjf5ObeOwiQ2iU+0ff2NJhC1JuWZ6iuupwmP1U3Yg=; 24:FBGM4qoKk9uxhDOa7rYCaF6Zjjy6T8YXDzqKVfKyan/wdVrKDKO3CRdeCR8up6N2I0MmgAaYPiSqrrb6AbOq42SGaGFK+LFf1UJbNzpy6k8=; 7:VDdtudMhSANStFaPqouvEHUz1uPV6ZNCxtZz7wBGeVIVJyzCWmMol9TbuO9yRtqKYk2S8uSkDHywL92Im0ndIotRmMLbiH1x06iRZQLG8ZFFl5x3BxxT8NkndEguy4JuLXkrk2DECYnEDk+F3qmQOTf9Bc7nHNezMZQk92ZonikkTkjRHaBQxNEVhfx8rYzAq0k0gJBS63T+I80J3OIBkujidhgXzh9pc+TFHTpA9XoOBSe6fGbUrU1tjbhPvdgk SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:7MoA9W91TT7PIEEb28KZq51r182C+lJDX8xWCOPo7Pio6pd2rHjDyRCQ4CIVXDK5gBf4qpHbmcKP+PVVwlPt0UZD47OKHo863V8h3vAQNJu3XrIbkYNPNfDHM1XFmaTf1GGSg6orKHNj+PjNRia+URN34Ll4p9NpllzsPFZtLtc4PsU60SqOP/FRzo1x3iIRZ36PjEzr6XXHVxziwklmtPuvVUgDWs7sIZgl1ViY9v/QNa6Po+96dLt8ueiOc1CM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2018 12:50:27.3470 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1a387fa1-6899-4ad1-c783-08d584f32c03 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0156 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The command can be used by libvirt to query the SEV capabilities. Cc: "Daniel P. Berrangé" Cc: "Dr. David Alan Gilbert" Cc: Markus Armbruster Signed-off-by: Brijesh Singh --- monitor.c | 7 +++++++ qapi/misc.json | 42 ++++++++++++++++++++++++++++++++++++++++++ target/i386/monitor.c | 6 ++++++ 3 files changed, 55 insertions(+) diff --git a/monitor.c b/monitor.c index d53ecc5ddab3..29ce695a80d5 100644 --- a/monitor.c +++ b/monitor.c @@ -985,6 +985,7 @@ static void qmp_unregister_commands_hack(void) qmp_unregister_command(&qmp_commands, "rtc-reset-reinjection"); qmp_unregister_command(&qmp_commands, "query-sev"); qmp_unregister_command(&qmp_commands, "query-sev-launch-measure"); + qmp_unregister_command(&qmp_commands, "query-sev-capabilities"); #endif #ifndef TARGET_S390X qmp_unregister_command(&qmp_commands, "dump-skeys"); @@ -4117,6 +4118,12 @@ SevLaunchMeasureInfo *qmp_query_sev_launch_measure(Error **errp) error_setg(errp, QERR_FEATURE_DISABLED, "query-sev-launch-measure"); return NULL; } + +SevCapability *qmp_query_sev_capabilities(Error **errp) +{ + error_setg(errp, QERR_FEATURE_DISABLED, "query-sev-capabilities"); + return NULL; +} #endif #ifndef TARGET_S390X diff --git a/qapi/misc.json b/qapi/misc.json index a39c43aa64b1..37c89663d8f4 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -3306,3 +3306,45 @@ # ## { 'command': 'query-sev-launch-measure', 'returns': 'SevLaunchMeasureInfo' } + +## +# @SevCapability: +# +# The struct describes capability for a Secure Encrypted Virtualization +# feature. +# +# @pdh: Platform Diffie-Hellman key +# +# @cert-chain: PDH certificate chain +# +# @cbitpos: C-bit location in page table entry +# +# @reduced-phys-bits: Number of physical Address bit reduction when SEV is +# enabled +# +# Since: 2.12 +## +{ 'struct': 'SevCapability', + 'data': { 'pdh': 'str', + 'cert-chain': 'str', + 'cbitpos': 'int', + 'reduced-phys-bits': 'int'} } + +## +# @query-sev-capabilities: +# +# This command is used to get the SEV capabilities, and is supported on AMD +# X86 platforms only. +# +# Returns: SevCapability objects. +# +# Since: 2.12 +# +# Example: +# +# -> { "execute": "query-sev-capabilities" } +# <- { "return": { "pdh": "8CCDD8DDD", "cert-chain": "888CCCDDDEE", +# "cbitpos": 47, "reduced-phys-bits": 5}} +# +## +{ 'command': 'query-sev-capabilities', 'returns': 'SevCapability' } diff --git a/target/i386/monitor.c b/target/i386/monitor.c index e5596bbc0fc2..33e6bade693b 100644 --- a/target/i386/monitor.c +++ b/target/i386/monitor.c @@ -737,3 +737,9 @@ SevLaunchMeasureInfo *qmp_query_sev_launch_measure(Error **errp) return info; } + +SevCapability *qmp_query_sev_capabilities(Error **errp) +{ + error_setg(errp, "SEV feature is not available"); + return NULL; +}