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: 10213417 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 8130760236 for ; Mon, 12 Feb 2018 15:48:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6FE8028B1D for ; Mon, 12 Feb 2018 15:48:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6179D28B79; Mon, 12 Feb 2018 15:48:41 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id BD1D328B1D for ; Mon, 12 Feb 2018 15:48:40 +0000 (UTC) Received: from localhost ([::1]:45608 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGLQ-0003eh-0L for patchwork-qemu-devel@patchwork.kernel.org; Mon, 12 Feb 2018 10:48:40 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55912) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGBY-0003Th-Qy for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1elGBV-0004DP-Kd for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:28 -0500 Received: from mail-by2nam01on0070.outbound.protection.outlook.com ([104.47.34.70]:50592 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1elGBV-0004C9-EU for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:25 -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 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: =?us-ascii?Q?1; BY2PR12MB0146; 23:cB7sqw4dETWuyMCV9jurX9Kzmv06jNfcr/7mM0K/n?= =?us-ascii?Q?D2eH3RHb/k1K5KkEnoYdKGvqZoXYzcxy13ZLbsk7U61noQ8yTDKZxY1IC+EO?= =?us-ascii?Q?zML9DVAqCEOjgR/Iv4ORU2AWaQUq7TFOSDSS3NRaDksVhG5lOGZ//MU8bnfS?= =?us-ascii?Q?ELg7ZXL0ljdrjHBKOSWJJY0qJ0vDeiLXM5FYNJjy0Aud4+flB7FSZG1yBjdT?= =?us-ascii?Q?MFP6UrT9ghBVMW1TIWPoXeaMOsQbOZbCllbyvboSGNcqEGpRZ5BSvv//0SJp?= =?us-ascii?Q?CCdQrmlDI0+9FnFae3LL6cbHi7N9/EJT5KRFdw7BXXPVookksQFagaVfMRj1?= =?us-ascii?Q?Vwjn2uWs5D4bIi22dsSG8Te1JJloFh78gLtbTI/ELdwUGHRIWTdGQ4XZlIaf?= =?us-ascii?Q?A+ioXXqI+QE4xdAnKq5y1Y3ev85naqf7vy6Ys38AAmuv0HGyrZI254KWBzHy?= =?us-ascii?Q?XyUmu/2U+M0MPXNTXf16SEy/TIlQuJqQdOvpT/NsCb1rDqoiwcCH3BSBC2An?= =?us-ascii?Q?j0FvqhfRzooj+GHMm2Rfa/KjfWXiqEyYfBkqt53Xn5kVtPtkGLp6bSKDEaZG?= =?us-ascii?Q?XHIkNE8NfGPDmLFM/S2s9cE718pYooxtE1/ILCc3Ob4C6jTdGCFxof+99jtL?= =?us-ascii?Q?bSOcSnMmJgaPSCGLWQK1ETKe7ZTepPay8PPs7oKcyjWF9rTlMvqqIEGCSW2m?= =?us-ascii?Q?aT22SYkljK9sCtTgE41vY+mQi5aesqBwY7QoCLqKAiDJ5cue72sJGMQb4EN+?= =?us-ascii?Q?iiyFBmc/xpg6HqSHke34nMA6Q9slYtMRLnvUa1Tqv/VdOe4kMMMFTCksCdv8?= =?us-ascii?Q?j4SBnXoFFjkGTtlEmWU+MXfUyYiL00gRwVRDk+VFJmEjGdXbXThGrJPNSIbF?= =?us-ascii?Q?RBq7P3BkNZjEtO39VhEbbhEvXg9Kztn/zu3LaAwE3PL+Nmfv7k/xQmeEAEX3?= =?us-ascii?Q?/jP27kZLAthq1+PbFn9I9VMyhXeV6w7gNeCmh3NpOlFkSHunCVvvQgF90CMR?= =?us-ascii?Q?fJdA56Wa9KU5Bo5xVCWEoXcEt6TMH+sv0U4GzS6l/iAuTWJpIFREJrPTpxcz?= =?us-ascii?Q?uUBUkb1YEj1NRqv38zvmvgUsPEd5UjKgObeQvMp4DcqlbRaUlAaj8lbU0GXq?= =?us-ascii?Q?joSovS82S+vTI6uZbS+jigPHBfhbI1uN/5ZqM1vUqLfvUOUY9ipfwtNCNt7p?= =?us-ascii?Q?F5eqSXSSOCLgIPaPvPgn8pTzif/8/ZIPKblRZLBKOP3+6a/WLwLa6cUaH/32?= =?us-ascii?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 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.70 Subject: [Qemu-devel] [PATCH v8 13/28] qmp: add query-sev command X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Brijesh Singh , kvm@vger.kernel.org, "Michael S. Tsirkin" , Stefan Hajnoczi , Alexander Graf , "Edgar E. Iglesias" , Markus Armbruster , Bruce Rogers , Christian Borntraeger , Marcel Apfelbaum , Borislav Petkov , Thomas Lendacky , Eduardo Habkost , Richard Henderson , "Dr. David Alan Gilbert" , Alistair Francis , Cornelia Huck , Peter Crosthwaite , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" 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; +}