From patchwork Mon Feb 12 15:37:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10213345 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 B301060329 for ; Mon, 12 Feb 2018 15:38:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A52642898E for ; Mon, 12 Feb 2018 15:38:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 998F628A49; Mon, 12 Feb 2018 15:38: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.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 22F882898E for ; Mon, 12 Feb 2018 15:38:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753820AbeBLPiy (ORCPT ); Mon, 12 Feb 2018 10:38:54 -0500 Received: from mail-by2nam01on0073.outbound.protection.outlook.com ([104.47.34.73]:56352 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753750AbeBLPik (ORCPT ); Mon, 12 Feb 2018 10:38:40 -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=zGDXYIYJXE6erjg7WHO4OJATLFQIYc7y+5JA+1DQe6Q=; b=yHn2b9ONcS95yTJu5atfLD1c3p/WuVlLasbbCIS+pzxRqTD6RqJcVizu66duE3NO87teFR09rzjighzSwxg9H0BDqHy7Za+u2H7R6zDzoxDzgrObt4sm2svFjkKsOa3H9Av+OFoG7saYFzh1MgRxvKF1KiznOK704NGx9BInq2Y= 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:22 +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 v8 13/28] qmp: add query-sev command Date: Mon, 12 Feb 2018 09:37:00 -0600 Message-Id: <20180212153715.87555-14-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: 6cc6aa2e-c286-4c89-1725-08d5722ea6be 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:ZPMg478hfeVBY4zWDufzz3GNsqLxdeyJLLP3KZe0bjqckU5Hl0dADEJUx2YjyIMkzpq0kfKX/QC2YkAz9Spz8fnzXqGkeIryIhl6sptLmlcnKC/wmFDLQebZVDcRLBiqfMFR8qa59EuERVsIDAQQfy7sSo17z1zURpe7/eqwTFAFzYgEHDwWlf3auLu+4ORrsyZaXX7v2ui/ahk0GudyHk5qmahBXTD2MDyJ38+qqijoFIewzyVUo4Kqgm6MHnbh; 25:qvHso1DxY/RKYf+EYUPXf84Ltx7rELcD1RH/SxO5ML/KY7/+tvbNgDKoeGA0eSgqVFCBMrEVHjq0HotfF3rJVA1wTP9jqETm4UD3O10ck4bC/DNbPotH+XbHCeQHCzVxdfEY5XvrA0vWCWW0j9cR8MTDaWOx6etuPAvLdQZebNDulPOrsVIPrMWmAjxFyhS8pkN5KPBcA1QdVZF+DJEBIzism/m3hotmSdshkgUpqFDEUpuK9QPUJbAejr1GbNcRE6TuLV2Fzso79buA+3UQoHsysjyBXAgvIiZuSqVHjelafgYTw7Na8o5QpyzDEuB8NY5kuP4J7PgO+f1Oh78/XQ==; 31:/5sJPSpRqOfbQK5n6timMXYIgGJ6vmtcXv7Wjy9hHyEhDgCajAHWqkf9c74CAwJcUIUJTWaTn9FyXVikGJGuhrLgFN8hWhSSPclc2ND602C8G+oWKhacJj+FDXtwbe+6K6XQrPftbyrE01t0+EjABba8VV2++a2w5TNH7OiyGwPfdU+Xxz1s1p+3Szrg8XfyB4BIUAQnuvk6ZAUQJahUXY11PVIeCvo7w4tWSyOq4lo= X-MS-TrafficTypeDiagnostic: BY2PR12MB0146: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:5EJ1vd6XFxoMcYRDpxk8zFGUkwComSOmHrIwZA9NaeZKQ6s6ri45aPFwOsU2wM9IN3vXJPgYB51Z6VOI/U9Q/9KDTAI42Egl5kpy1cPy2cmHj+/OM1MK1KtbYKARMkuzx5iWR7ru9O1PsHyzT1lYzHnae4REAmgVvXuq2oT5xVvNYMxFc2Jr6VD5hlLd744oVeSi11ns+UPVMJdCC44ujR1QR9sJrNkzgToYb3x/RB8JbI05scIHHPatkP/Trh8o1AookEqbGXiMmGNmaU0DVDYP79iGa8U/cIIPgcdUtn1pJHukh+bEBeFA7+FneN/I+oEnqrRTSbrM7K0VnVse3QDGNWtBa2bJPHxIf/HPAvZ4f7lnUBvJb8BuRWhoxDDnyJopJRNIsUFikzjiZQRCx4PRmq0Apm7z4WeL51nGhVof82FpzZmng6q/K86CD90ATfbW+WLjbgtG7LOV0Mq3vpUlwus1LjhvJcygJPT/K22Yh96fZZcmB6vHioe/CGqd; 4:va8d/QuFuu8ahg/Y79llkGaxeEt+5FbeqR+tZ2GJuXyGYis1fEDOPPNT8GJgydufIg80HS0kUlU4fqpO9uFlFeOmdD6cAv1zRFU+ZRL1g/sLBUdYcXHnYtIEFCWWW5UCfxsh+3ygceZG7XGnmexuGPM2p/tQkNcqChjfach2cMs4s4aKUXWkzLvt760LkYEKUBaGzUNJ1SQMsKanSklafJxewA2XPupV9kmPyzE23zTIjaAku1aOiBpK6EpFyaAkEsH8ZzCG9eIf7F6UdnBBg6LDw89ZquN5LKhUJhflzI5xCjgruf1eyOZAgFEtuQ6Y X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); 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)(1496009)(39380400002)(39860400002)(346002)(396003)(366004)(376002)(199004)(189003)(25786009)(53416004)(66066001)(8676002)(7416002)(105586002)(81156014)(76176011)(81166006)(5660300001)(97736004)(186003)(16526019)(8936002)(106356001)(50226002)(2361001)(6116002)(3846002)(47776003)(305945005)(1076002)(86362001)(26005)(2351001)(7736002)(478600001)(36756003)(4326008)(2906002)(53936002)(6666003)(2950100002)(8656006)(52116002)(6486002)(39060400002)(68736007)(54906003)(7696005)(23676004)(386003)(316002)(6916009)(50466002)(8666007)(2870700001); 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: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ2OzIzOmNCN3NxdzRkRVRXdXlNQ1Y5anVyWDlLem12?= =?utf-8?B?MDZqTmZjci83bU0wSy9uRDJlSDNSSGIvazFLNUtrRW5vWWRLR3ZxWm9YWXpj?= =?utf-8?B?eHkxM1pMYnNrN1U2MW5vUTh5VERLWnhZMUlDK0VPek1MOURWQXFDRU9qZ1Iv?= =?utf-8?B?SXY0T1JVMkFXYVFVcTdURk9TRFNTM05SYURrc1ZoRzVsT0daLy9NVThibmZT?= =?utf-8?B?RUxnN1pYTDBsamRyakhCS09TV0pKWTBxSjB2RGVpTFhNNUZZTkpqeTBBdWQ0?= =?utf-8?B?K2ZsQjdGU1pHMXlCamRUTUZQNlVyVDlnaEJWTVcxVElXUG9YZWFNT3NRYk9a?= =?utf-8?B?YkNsbGJ5dmJvU0dOY3FFR3BSWjVCU3Z2Ly8wU0pwQ0NkUXJtbERJMCs5Rm5G?= =?utf-8?B?YWUzTEw2Y2JIaTdOOS9FSlQ1S1JGZHc3QlhYUFZvb2trc1FGYWdhVmZNUmox?= =?utf-8?B?VndqbjJ1V3M1RDRiSWkyMmRzU0c4VGUxSkpsb0ZoNzhnTHRiVEkvRUxkd1VH?= =?utf-8?B?SFJJV1RkR1E0WFpsSWFmQStpb1hYcUkrUUU0eGRBbktxNXkxWTNldjg1bmFx?= =?utf-8?B?Zjd2eTZZczM4QUFtdXYwSEd5clpJMjU0S1dCekh5WHlVbXUvMlUrTTBNUFhO?= =?utf-8?B?VFhmMTZTRXkvVElsUXVKcVFkT3ZwVC9Oc0NiMXJEcW9pd2NDSDNCU0JDMkFu?= =?utf-8?B?ajBGdnFoZlJ6b29qK0dITW0yUmZhL0tqZldYaXFFeVlmQmtxdDUzWG41a1Z0?= =?utf-8?B?UHRrR0xwNmJTS0RFYVpHWEhJa05FOE5mR1BEbUxGTS9TMnM5Y0U3MThwWW9v?= =?utf-8?B?eHRFMS9JTENjM09iNEM2alRkR0NGeG9mKzk5anRMYlNPY1NuTW1KZ2FQU0NH?= =?utf-8?B?TFdRSzFFVEtlN1pUZXBQYXk4UFBzN29LY3lqV0Y5clRsTXZxcUlFR0NTVzJt?= =?utf-8?B?YVQyMlNZa2xqSzlzQ3RUZ0U0MXZZK21RaTVhZXNxQndZN1FvQ0xxS0FpREo1?= =?utf-8?B?Y3VlNzJzSkdNUWI0RU4raWl5RkJtYy94cGc2SHFTSGtlMzRuTUE2UTlzbFl0?= =?utf-8?B?TVJMbnZVYTFUcXYvVmRPZTRrTU1NRlRDa3NDZHY4ajRTQm5Yb0ZGamtHVHRs?= =?utf-8?B?RW1XVStNWGZVeVlpTDAwZ1J3VlJEaytWRkptRWpHZFhiWFRoR3JKUE5TSWJG?= =?utf-8?B?UkJxN1AzQmtOWmpFdE8zOVZoRWJiaEV2WGc5S3p0bi96dTNMYUF3RTNQTCtO?= =?utf-8?B?bWZ2N2sveFFtZUVBRVgzL2pQMjdrWkxBdGhxMStQYkZuOUk5Vk15aFhlVjZ3?= =?utf-8?B?N2dOZUNtaDNOcE9sRmtTSHVuQ1Z2dlFnRjkwQ01SZkpkQTU2V2E5S1U1Qm81?= =?utf-8?B?eFZDV0VvWGNFdDZUTUgrc3YwVTRHelM2bC9pQXVUV0pwSUZSRUpyUFRweGN6?= =?utf-8?B?dVVCVWtiMVlFajFOUnF2Mzh6dm12Z1VzUEVkNVVqS2dPYmVRdk1wNERjcWxi?= =?utf-8?B?UmFVbEFhajhsYlUwR1hxam9Tb3ZTODJTK3ZUSTZ1WmJTK2ppZ1BIQmZoYkkx?= =?utf-8?B?dU4vNVpxTTF2VXFMZnZVT1VZOWlwZnd0TkNOdDdwRjVlcVNYU1NPQ0xnSVBh?= =?utf-8?B?UHZQZ244cFR6aWYvOC9aSVBLYmxSWkxCS09QMys2YS9XTHdMYTZjVWFILzMy?= =?utf-8?Q?uQfL99oh1Lm1j6QZ3x/xqf73V+7XgXjNeSpMWuA?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 6:Qg1lYwptrIxBZSko/r7N3zE+Ct735xHK78NYCKS65VNCf6uSEHmM34VMa/i1c60Wu9zM89nh12/RZwh8xlQ04ddQ9oj1AfQwlfkkuLltq9m3S89PEUpcDf8wQvT0fhoE0WBQ5VqNAin7Tf9OQJgqq0HqVTqDvCpci8Fe227xxp3leNRHVAUG/WuVmfXTBvchjivkF8Lt4tIkSvl1em0HjxpYkWIuk6WSJ020AszrB/ALEm/PbM4jXqmNqkuZ1sfw6Rl+lsubZTfsJcNR8NXgzHR3/k4IK5W53HJmrMvHabru7bMVVrjEcFL7zLgCUrHOLWi/oYy27C3ldiLBndbWYWaNE1HF83aX7LM+pE5hreE=; 5:40zhUmSLlEwqFFAAi8r+K2QMuaG59WXhSh1DxrxnpwjUBoTZCJfeJ+XP5BJoo4WcMZ9sJDG//hV85W79FWk5Kj1jybhiNa1CGRw5GY41LAbb/FfPI0tYjobjuztrRWgSql8NjWE9ZfJeXa4DmWQjmKfHS+j1tgYyKPFHcMNYl7I=; 24:oVbkN3BuUrNmRW2Hbvz2WfLGlZHwxykygHs2b0lVFA6u/cK7Xe2A4ieY9986srPdXZ79odt6/QwL2xsckBxkE4qsIM4n2qqfyn0HIsDcSdI=; 7:fAbJ/RpFDquXQQoDmpq7Fs87U6rfXE25uRS6vF+nl9s3Y5pBQS5wnE+/CwCKFIryj0N6xHFOOzMJYS1ZZPekV1YNBzbEPznw+tKLawvB8SHZjcdrOJKj7xqQRJL/fFZAIOp7tw5VxzA/S1L81KtiGuWqTBTBjSYZK/8Y84WOz8ATd6iFyA2zrZSlgNIuSDMkhVLYGPkR7aHb66Why9s9fzEQL2khyzC7Os1LwSNW1lL1vMgg9s85113wPDM02e+I SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:MGZ3dkVGWz8TtYmgkkY7nOyqcZcDZMAoXuz3uhb+FQavNb8C+XHDMVjXznIVwIcUN9pSxpd/DMATue/1j1AkDaDZCtWoNdWPZkX2GBCMsv3P0wVDvbS1ynjOmVtVPO6mFekq2ouqPq3Bx+dXHX08Acw4OCjbj1r9lLQxzjtARotZCFxmzQyOBhXwWlwQyo2XLGCX6b/v0BwVfs1pOLfOpmJFEZYV4/d3uuRAQDW5pAT9lgpklgLXSKflx5psahXS X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2018 15:38:22.0739 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc6aa2e-c286-4c89-1725-08d5722ea6be X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0146 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The QMP query command can used to retrieve the SEV information when memory encryption is enabled on AMD platform. Cc: "Daniel P. Berrangé" Cc: "Dr. David Alan Gilbert" Cc: Markus Armbruster Signed-off-by: Brijesh Singh --- qapi-schema.json | 47 +++++++++++++++++++++++++++++++++++++++++++++++ qmp.c | 16 ++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/qapi-schema.json b/qapi-schema.json index 5c06745c7927..9203e28b8aee 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3189,3 +3189,50 @@ # Since: 2.11 ## { 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} } + +## +# @SevInfo: +# +# Information about Secure Encrypted Virtualization (SEV) support +# +# @enabled: true if SEV is active +# +# @api-major: SEV API major version +# +# @api-minor: SEV API minor version +# +# @build-id: SEV FW build id +# +# @policy: SEV policy value +# +# @state: SEV guest state +# +# Since: 2.12 +## +{ 'struct': 'SevInfo', + 'data': { 'enabled': 'bool', + 'api-major': 'uint8', + 'api-minor' : 'uint8', + 'build-id' : 'uint8', + 'policy' : 'uint32', + 'state' : 'str' + } +} + +## +# @query-sev: +# +# Returns information about SEV +# +# Returns: @SevInfo +# +# Since: 2.12 +# +# Example: +# +# -> { "execute": "query-sev" } +# <- { "return": { "enabled": true, "api-major" : 0, "api-minor" : 0, +# "build-id" : 0, "policy" : 0, "state" : "running" } } +# +## +{ 'command': 'query-sev', 'returns': 'SevInfo' } diff --git a/qmp.c b/qmp.c index 793f6f332302..7907e539c8f2 100644 --- a/qmp.c +++ b/qmp.c @@ -39,6 +39,7 @@ #include "qom/object_interfaces.h" #include "hw/mem/pc-dimm.h" #include "hw/acpi/acpi_dev_interface.h" +#include "sysemu/sev.h" NameInfo *qmp_query_name(Error **errp) { @@ -719,3 +720,18 @@ MemoryInfo *qmp_query_memory_size_summary(Error **errp) return mem_info; } + +SevInfo *qmp_query_sev(Error **errp) +{ + SevInfo *info = g_malloc0(sizeof(*info)); + + info->enabled = sev_enabled(); + if (info->enabled) { + sev_get_fw_version(&info->api_major, + &info->api_minor, &info->build_id); + sev_get_policy(&info->policy); + sev_get_current_state(&info->state); + } + + return info; +}