From patchwork Thu Mar 8 12:48:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10267933 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 DF9416016D for ; Thu, 8 Mar 2018 12:49:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D01BB298FD for ; Thu, 8 Mar 2018 12:49:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C3778298FF; Thu, 8 Mar 2018 12:49:45 +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 3792B298FE for ; Thu, 8 Mar 2018 12:49:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933757AbeCHMtm (ORCPT ); Thu, 8 Mar 2018 07:49:42 -0500 Received: from mail-cys01nam02on0041.outbound.protection.outlook.com ([104.47.37.41]:34760 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933352AbeCHMtj (ORCPT ); Thu, 8 Mar 2018 07:49:39 -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=IP7cNfOQTTBOiVJysomX7/WyWSXkIwuSKEzU/TppQc0=; b=M+h42Iyz265LKgTZE2XPxUgzd1MBMB6LgjqpMIQlW7eygLdJonGqZmGPrgBGk8w8KeSNBoGAFsaQJs4rlqqRVytJ3FKyazrckE5rPo9F6Pyzz6JTe6sVLVUfmcx6UsTjXeXdLqHre202YceMXrcTxiTwmc2DCl41r61z5AXS6mM= 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:49:34 +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 05/28] machine: add -memory-encryption property Date: Thu, 8 Mar 2018 06:48:38 -0600 Message-Id: <20180308124901.83533-6-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: a411f228-dba7-4ad6-cb26-08d584f30c48 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:ZFTFCv5+mKVIK6JdJyYUhzLcMMBA01WQI6lLPQ/S4ikEWbrpRXSwMPNMV95llVFFdJdBqOlVkoBoq1LDjU99c0El+PRmlmDdHJ4dmQWutWiSWer4NQDwgngk2IwAJYqw3YaFV8gUZ/6xC17iQtwf678bGf9/9E2DntnaXdyYZs4hn+buHSv6Fzl/j+8x7VeucN8IvikKWrtQJyz64Xl7ld5Ud2WTAKjvl3tmLp/nXBGloMtQ9JvgcVlSbU9YLt45; 25:vOS5z8ArqbH5UiwpOr23uTySnWBctNGtkLHnVKY2RAi9ZVJXPCexcDebx2SUkAFJ8Dm4YQvd34LDOe+p+G/+htnuy+e3LWK7rej9Q78D1JQp1vRcIw4m2oARyHzJBL6d8ZR86Gz7Okd8Bw63XFW3IFVOoom2NOkksFwDbifKTQLxNxqivjRmZagj3M3TkCH8aPAyeE1ZZ1EnaKmKqgO8lhD7VCrDxMrz8xh2Pfe6w6phdozGJDItXDZYO7B+02V8YjHbnecB5XYjPc1yt42cgKsoaqaBuPFy3y/+/FZl5R1X9QPlb7i5jiiEMJ62dOkjxv8XPH6qyibJVafAcIUixw==; 31:o2EpH8XNUxpWtAHgL+a3HblGgRJkzdLgo89csHTcLoll2aBohVa59W9O6rHmZsrRf0iDeIUE6B2655LHNjn2hsIlvYiGlYgSl2zz0L/UZdcgBWV5Yo5EPr/fXy5dodd9HkbTTXPrEbrtCQ3O8IHf3I5RaSvajuibvMqqPdvXALh0GLFMlWoo1J0WNeqKjsELSGfAm2J7DsiKcIosU+a/nHnxwXHR58vTlEeSbcb7Tfc= X-MS-TrafficTypeDiagnostic: DM2PR12MB0156: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:7foq/k0UlOG84Pdi9+lAWOfvqvI5SlU9N+R/7S25HfI7WAh3uN9SEqmApSTguq6z0RUAjlguERQah/5S4hA1p3XIiMk/TWpPul+pTGZiJciB8APxxqsu1+gexuEbpeclnHebOsSh6WZT8U6A98A6ObRSRdRQPxGQo2WS8flT8HDRLbtzVm/fLzJYnSB+Kt+qQpD+V80xrFki3+bRqoTt2h20aQXRcuS+U9HGa4XQwI+tOm0a5eu+fSI+Xnwmwz5MFiyxlejr2fN60ZF5DT0zFpY9+LEt+RWH+ID8wTO2BWiVzZQPl36aQqFAbPOq9v76ctwLNajkEk8wTNGO1NCZphb71bwlMjQqOkez9iYc5llrf/OkHlLQnlvYIl/+Zv3D5q5Oc+OqynB0/+qTkCLP2lfWvhSorukZMxSLvVr3zOsu/+TXH1gisCPjS/Dx3cGgbS9/JdGIeMHY39UqrScnbFNb/lqJNQ1LvU2bOvz3nKqRHdUKrxR1c9a6wZZHwlp3; 4:zdhtxM8nOs7Tbc4qSXZ4LBc/kaHafsh+wlirXmykIaX0SvH2ZGg/yi3Rz2FEm9QSNaO26k0y6FgycSOxYyLD6WKQjoXhJy/HKlrk62ztv4ZNgpCMqwWD6swbzpWLn3ujzBtULPtFvgCRdiMwKLk6I15xGoT59Xr/z/wa9DvLkjyEOT5GiODPFsdnDDFSt7UfXUl1RYprh9Xsa+Xwxvdu+1Lz4KGPS20jC20gJ9lXNskJxY1vPqy18Qo+nWW34ouqJfR3jbBr3YiBYMK65kVn+7Afkw4vPzLvCi5ReUDRFl0rJTV11k6ulx0PUL/mbTYjoEYruvgyjzX1BNhwylPIlqp+KJulvS3RXUMydxN7t4c= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(85827821059158)(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)(39380400002)(39860400002)(376002)(396003)(346002)(366004)(199004)(189003)(50226002)(53936002)(2950100002)(6916009)(2906002)(2361001)(2351001)(106356001)(81156014)(53416004)(8676002)(81166006)(7736002)(36756003)(305945005)(8936002)(105586002)(48376002)(50466002)(68736007)(97736004)(47776003)(66066001)(25786009)(4326008)(39060400002)(6486002)(7416002)(5660300001)(3846002)(478600001)(76176011)(51416003)(7696005)(52116002)(6116002)(16586007)(16526019)(186003)(26005)(1076002)(8656006)(386003)(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: =?us-ascii?Q?1; DM2PR12MB0156; 23:00HMWVkGLFPk3slJaT7EYxquQf/DA3yDdq91IQd0N?= =?us-ascii?Q?lIy72fJOGprn6+19qgajYhlXMM1Q2fWBQGvPB8yOYPUwm2mo5uVyi74WyDLK?= =?us-ascii?Q?RzJRVdEBN1Mqup7JdyEr83TluebsgbBoGYQbr9yquM7b3uGmHiINimHH++0S?= =?us-ascii?Q?tpB+6bJ4KKb8r8wVlSxULVK1d8v3GELmwwr3NukPVKQiQssHoepTdyxbqmAQ?= =?us-ascii?Q?ehQUpaqBIzJZ+nC60hft3fbitktlst7DQLpZ5AN8uXgLX1nC5xQgClrmyMnc?= =?us-ascii?Q?EMe201lxP4zvDFsW//Hl5mUQ27LjbPQbzx/SvscebfieET2GSLiEvUSepMtG?= =?us-ascii?Q?PKM6Rz1Vpv3cnaDO1DW1rTjplph2AcBjr50WX/OCD8EagPenrlbMMuti9S0e?= =?us-ascii?Q?SsdY0F49tl5Ed6FFOHOk8jfQ/DV3c8gDnDVGqCYgeICIPm2feeVlddN0KIXn?= =?us-ascii?Q?dQRbfiof40ww2dPielI474RMAiE7SKzSNzNGrIvEmPyYffYzK+au8+8L8l06?= =?us-ascii?Q?BdpTvutrWXqMxINrqD/6zWT/uMD17324dwLzF1eXVqkRUauvf+gNL3B1ZFNY?= =?us-ascii?Q?9gd3QYHqo0jWCC6x7TypfSJMgkElWAYHCIUOLzHsqWBM8LH6UHXCFSS14YYM?= =?us-ascii?Q?WxzYjN9VatsEpT+O8OQ2E24mPUIuAcejhEv75vvyScLadIE8n6OY4wpIXHTq?= =?us-ascii?Q?684f+21M3ZysDo0LGY1LB/v/SjTvy8HyJ1jQwKbD9SQgcIwcVval8hiay5Dp?= =?us-ascii?Q?nelFg+7cICFNuBJO0gWDhmzeLUvOYeAeIohQB7gnwpTGrXAtFI1pq2H7yNSg?= =?us-ascii?Q?ewYhg9rc7qnGonSupwh54N2lipBkvEPFZs26lW80U/oYmaHvuv021zBx+Og4?= =?us-ascii?Q?hOhW/EQ2kqpKefuqzSSNdIC6ij9a0kKU7o/1Wt/ybAEN8K8kTaq3elnJMa99?= =?us-ascii?Q?gMxE1S385KHdh4HKeKvkPRwtKytxZ7S7GijBX0dGNDsmaiICzTUWBMchDn57?= =?us-ascii?Q?BTTHr4kta+15gnJBf0mIkCbuD3tmayOr7i/mRzoyGjt2k1IJi4JU6miNg1j7?= =?us-ascii?Q?AQ9YUK1155+3idiHZS9GxHHNo2ZDzjHCB+JsIhrMSZIBWPJiUrlXE80gJwfK?= =?us-ascii?Q?WPDYK7tLU7twNAhlRO8Kxl5Ncz6q5zrvwvHPE+mT04gWz3KsUrsgQ7Lq6BLJ?= =?us-ascii?Q?DvPJOuNxtXyyacv25hORYMYXs+5T7Ljv8kWCskb6iHHbAYqpVokI6AOh75A9?= =?us-ascii?Q?Lt1vqj/2R2sR/7N3TmTQ1b6QQ7nLykXf+xeymTa1d83A6eqGDJMi07ZWEJa8?= =?us-ascii?B?Zz09?= X-Microsoft-Antispam-Message-Info: dXFivc2UvzHHjShgzZ6j+YcAypiJJ7Bz9f5rQAFUSZFQVRss9iVvMBcMXswUBtO75MhIpcv6H2Qz4SvSQ50BWlz1odayQaBQhmLJpFug/spft6e7Y2PItTOiZ7jYT+qZvalN4+GEkvQcGDlaBTe8hvfHKWJTvq4Mz1jBj/FrwQnWL9PsqrWZl5e+ppZNbXTa X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 6:yRsyZR5h6dEmclwbgYanU8RWppFdTDyJUCp8oJYhN3UeWI/uhIZLqdVpXJdVVIkNGL2yg4RQwN/eN/9k2aCASMs4Mdm22TcSxpTTIFgW7YZVax81iaZ2xMB2XypZSRoFpJZ2zryPa7bFHr21RqcfJ66+v/Qx3ufUVk5vWT0cxV+MQLmEYYURFUVFIyzPT17Aj4Rziv21LX25yYSB8P6iXxryh6rdK2a/X7m6FDvycOzsWgr6hVXfmRNnXbHfirLM5SsQjWvyuYMggjUxRF4tQa5o3sNnbdo2ZqU8Sv/+Ne2FNZVHTeWa/D3/h5utcCpfANH7uCLVBuAZnHIlmsCeQwfdXJF46RLitdBean2IGPI=; 5:VsvCapExz6cIOtTmdZg2B7XSC9ofmTFSMUOHebCp6MlGrQpeAHo60fhotjqGKdThezjExnIiSHk3jbsXrcNWPyTGV/vNkyTduod7s5RK6SrN8ZV3eZ6LgR72cFXcrDNaSi4AoxwbA4TSYP7B1HG6FfFrDbwJqmftlzAWybZLjeQ=; 24:7inX2N8MPWUufaD5Q+rbasi6fHvTGiljIL7tR5+6D6cYYkpRGBZC/j1O+lyVCK7247eDkrfAjomMF15oifJZvi2lDxjYOBuuXC/esexK430=; 7:Kn631Xbb+UAILUTXCjYeuHJZsm4oRYm4pvq5VGXfhPqqTptbUKLX9pbsOqZoUHIVJVD3dDObIihvOTJkKvzcYZ/8W7fypWSAPOeRzeVykyvpWiUza/8QRvItpcY89t7kQElu2aCiOTG7TtVLQJOZKpBzWDIkIOW+AfqNhEPhyMQJI0ffYTh3xbN5dZznQ3ywOMFXbW5so4NrWpXN3iQp8tL28DYgbiViI4nXHgtfy/qOcVgIyYORHq/MVOX6LLNf SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 20:3z1npDib2uQbUPxjiDQvLWD5abriLERfErIgm8qWiu1ZcjC+uBN7qc9AMR7phQWkO2HTgAiT2mVMOt1rV5QuCh0sjMxG1qaIn2aVxLosQuqC4aCzkZ9VDXZ7UWTkdHNrwOvX0hkDzKyWnKvql0vJwIS3JS1NGsLIQ6AtXiFB+0xx9UP9MDaqkWChxIdpoOVMQdYx9Gabc9HWWZKRHMsgICrRKMNF5U6PL7nknlUw5g182CfHQbekmBmaci89pqu1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2018 12:49:34.0497 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a411f228-dba7-4ad6-cb26-08d584f30c48 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 When CPU supports memory encryption feature, the property can be used to specify the encryption object to use when launching an encrypted guest. Cc: Paolo Bonzini Cc: Eduardo Habkost Cc: Marcel Apfelbaum Cc: Stefan Hajnoczi Signed-off-by: Brijesh Singh --- hw/core/machine.c | 22 ++++++++++++++++++++++ include/hw/boards.h | 1 + qemu-options.hx | 5 ++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index 5e2bbcdacedb..2040177664d5 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -334,6 +334,22 @@ static bool machine_get_enforce_config_section(Object *obj, Error **errp) return ms->enforce_config_section; } +static char *machine_get_memory_encryption(Object *obj, Error **errp) +{ + MachineState *ms = MACHINE(obj); + + return g_strdup(ms->memory_encryption); +} + +static void machine_set_memory_encryption(Object *obj, const char *value, + Error **errp) +{ + MachineState *ms = MACHINE(obj); + + g_free(ms->memory_encryption); + ms->memory_encryption = g_strdup(value); +} + void machine_class_allow_dynamic_sysbus_dev(MachineClass *mc, const char *type) { strList *item = g_new0(strList, 1); @@ -612,6 +628,12 @@ static void machine_class_init(ObjectClass *oc, void *data) &error_abort); object_class_property_set_description(oc, "enforce-config-section", "Set on to enforce configuration section migration", &error_abort); + + object_class_property_add_str(oc, "memory-encryption", + machine_get_memory_encryption, machine_set_memory_encryption, + &error_abort); + object_class_property_set_description(oc, "memory-encryption", + "Set memory encyption object to use", &error_abort); } static void machine_class_base_init(ObjectClass *oc, void *data) diff --git a/include/hw/boards.h b/include/hw/boards.h index efb0a9edfdf1..8ce9a7a21d3d 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -243,6 +243,7 @@ struct MachineState { bool suppress_vmdesc; bool enforce_config_section; bool enable_graphics; + char *memory_encryption; ram_addr_t ram_size; ram_addr_t maxram_size; diff --git a/qemu-options.hx b/qemu-options.hx index 6585058c6cde..4c280142c52c 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -43,7 +43,8 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ " suppress-vmdesc=on|off disables self-describing migration (default=off)\n" " nvdimm=on|off controls NVDIMM support (default=off)\n" " enforce-config-section=on|off enforce configuration section migration (default=off)\n" - " s390-squash-mcss=on|off (deprecated) controls support for squashing into default css (default=off)\n", + " s390-squash-mcss=on|off (deprecated) controls support for squashing into default css (default=off)\n" + " memory-encryption=@var{} memory encryption object to use (default=none)\n", QEMU_ARCH_ALL) STEXI @item -machine [type=]@var{name}[,prop=@var{value}[,...]] @@ -110,6 +111,8 @@ code to send configuration section even if the machine-type sets the @option{migration.send-configuration} property to @var{off}. NOTE: this parameter is deprecated. Please use @option{-global} @option{migration.send-configuration}=@var{on|off} instead. +@item memory-encryption=@var{} +Memory encryption object to use. The default is none. @end table ETEXI