From nobody Wed Dec 17 09:21:22 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1629120878; cv=pass; d=zohomail.com; s=zohoarc; b=Rb5otblWbcT4SPl4yYQScM4NJlnGBlk0Hathlhms17Ih7J/mraE3L/6ESoVO9z/m0ZlrEUgOLSPUQjaz6P4zyagNMoPiCP2ExFVKzPfmwyM69GpF5DK4KqVq48rdAsLr4cu1QKwz6IhX9sT/lsCDXUJzxOewwvCzX86VrFwgMLs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629120878; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nMN02OwUC7b5/wEDyb6xoGxpcr39mOZrwuq92xQgBEo=; b=nrRXJl38c1sswEqcI11sS3VUvjEv2qWPD9ClzdnmF1UrDLi1d9SlvUlcTPhXzcP+XlpwUjmwfX2zwBLolNHoBUFgVyoCpPIuNsOD0xwRISmUshUcgQz/q0uSlUUjE6C9ZvuS9uABcXVwnPFAEqxWiKcxkt8Bdm2vEJNamZ9/wfk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1629120878453399.5632048636695; Mon, 16 Aug 2021 06:34:38 -0700 (PDT) Received: from localhost ([::1]:41096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mFclB-0005sr-Cp for importer@patchew.org; Mon, 16 Aug 2021 09:34:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49644) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mFcgx-0007L5-B9 for qemu-devel@nongnu.org; Mon, 16 Aug 2021 09:30:19 -0400 Received: from mail-bn8nam12on2060.outbound.protection.outlook.com ([40.107.237.60]:44960 helo=NAM12-BN8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mFcgt-0004za-Vi for qemu-devel@nongnu.org; Mon, 16 Aug 2021 09:30:14 -0400 Received: from SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) by SA0PR12MB4512.namprd12.prod.outlook.com (2603:10b6:806:71::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug 2021 13:30:09 +0000 Received: from SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::491e:2642:bae2:8b73]) by SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::491e:2642:bae2:8b73%7]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021 13:30:09 +0000 Received: from ashkalra_ubuntu_server.amd.com (165.204.77.1) by SN6PR05CA0011.namprd05.prod.outlook.com (2603:10b6:805:de::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 13:30:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KKZYJUjzjhB5Tm1CJvDOAlcDszBgKx43dhglBETbS7ScDpIBtUEP+5xhVxWOJdPcpJooswExyv1FstHDU5nsjDagq59hRbjVatrPrxpHjPb0tvlMROe5db37fn8o415c3+hkwO0YProd2pIYJh3fooP6tUZTf1CzosN/e2zxJoMROsBqGoqGPKjjcgPx240iNEbqrSs9nTejRcGMat+R4EoWKlqBy9YcnO04uuIl6ZyAAbB5JKfOiekZP6E96yfrKS7+noU/+setzY1Zbs3p0Oam+ev6nIpqplev/cYz+E85N3zbHlX6w+0wQ0zpxOY7qcswKOjMIhHkhk3RZqvmKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nMN02OwUC7b5/wEDyb6xoGxpcr39mOZrwuq92xQgBEo=; b=hEoHCxzx+dyrMVbYgjFAmtgAsJi6WTiwjGlgyaWdUsFUv3t1DOWxO9usNpzAZ8QLFfPgWVNRBDMZcaWHZ42jc3EhUSLZnzHWpf8IIwKBlsRN+f+7U8r3Q4dwJRoLMtibSIbuDud3HQVyUlyF5wg9VooZYP1aQGh54ePkElSHThisjbS460pFhJ5B54eavwe+o6+egWMtOAJGefcUuR/miMbHcKPV0n+XVBK6C/IXASBgIzF6AmqwDS27HDD6aGZoD2N9wyqErNeMlIrt0pxaDbcQbrcvEvvVBVUh5lvnVCwp1euZfM78CNYEWUcE+ZHZcnYFPwTuOjx0uYtZ4qw8lA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nMN02OwUC7b5/wEDyb6xoGxpcr39mOZrwuq92xQgBEo=; b=PqEp1IlgCZXkJd403YpHSNBt92X2CyOFryS3n+QwDvh5RPCo3DV27/K/az8iAnXeq/zbdss9qLrTgEvYrnmWzJ2AqU9eK24UrZXw67AdaEu3NxvLbzJelEqQAai7/oL24nWagtjChgXMEiGVDzq/UBWEENaFxWsitHPouaEwqQA= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=amd.com; From: Ashish Kalra To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, thomas.lendacky@amd.com, brijesh.singh@amd.com, ehabkost@redhat.com, mst@redhat.com, richard.henderson@linaro.org, jejb@linux.ibm.com, tobin@ibm.com, dovmurik@linux.vnet.ibm.com, frankeh@us.ibm.com, dgilbert@redhat.com, kvm@vger.kernel.org Subject: [RFC PATCH 09/13] kvm: create Mirror VM and share primary VM's encryption context. Date: Mon, 16 Aug 2021 13:29:58 +0000 Message-Id: <0818aea436a5b1a0dd86535b15349137dad73308.1629118207.git.ashish.kalra@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-ClientProxiedBy: SN6PR05CA0011.namprd05.prod.outlook.com (2603:10b6:805:de::24) To SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fb371585-84af-49c7-b1e2-08d960b9f7dc X-MS-TrafficTypeDiagnostic: SA0PR12MB4512: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:126; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t0I5rQtk/HbbfkHuHJYrfq0xHQBd2LrVi7yDKND2uSdh//rS6scmgzK2d1cj5QHcYScijQ8KrTR522W6G9SmLwvZrNnigVbk+8xWVLZJeHyGfhqwmmdyiMJuq4n9Ke+UKktYrLD1fy3R16lKp7sBeYBHsTYpDw/1DVeT6oF7h6HDu4SzUQbPhgdRCZSIudhOsuIvqcmygOoQ+ZNBtJnxUmwsy4eQSG6vLTflbuQAnS5RvJEVxLqtHAfbCJuCK+0mQtAKoHRJxOqZLrHcqpiWpjC9BCqVZYb4W078bGlTV15JTtXlPn5tvow0GvPW6c+TFM0OeOwjnfKTdYhrIVUscNqmUsQNBB04UxzD5qI06pTsVHRJvUeDTM0TYmp89I+voukEMAcAFWtZRQeJhksAwuHkiRi0+2wttpB/+fbxgfSpUc3qw+RKVjUHKPCUMd+re/us2qRyfiqs7QEs2nEkwVgnY+enGnOHMzLHZ3ZFgc0G82nGMILsvRpRvr9yCGVEjmnyzZPc8CGx6yaXlov7QNht6mkLiEK+uiXZYII+Y10YRWwQZ9MghkJN37IUSx8iJFkZ2xRu/UpOvCACH2HQprvOqcLCv4/YiA1Bqx2cJ5U/9Hj/6d+p9pm+J5lKXi4Ry+9JdsyYgLMOnuMLbPyjBzlGyeKP4wSEQtRivOJcpZAEnOwy+Yx7gRVz24Z7q6RzQrIZH5h6IkuBAvzgpTlMRQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR12MB2767.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(39860400002)(376002)(366004)(136003)(6486002)(7696005)(478600001)(36756003)(52116002)(38350700002)(26005)(66946007)(66476007)(186003)(86362001)(316002)(38100700002)(66556008)(2616005)(7416002)(6666004)(8676002)(6916009)(4326008)(2906002)(5660300002)(8936002)(956004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fl9KVjsskxhXOPvNXBnoBnzvtkE7KOh3QvR9+NK/3jOEPklshAy3XAa3pZ90?= =?us-ascii?Q?Bst+yi0auaRSyfdVS3TYsdUP9eMzryMIFHzIeCwKTgAJAOQ2Rr+ABnVlfY/4?= =?us-ascii?Q?np6Ma49TY8sZFbb8SWERk6ZXyhmv1YTOmLdHf4mBvW95U4Us3raeSgd6qY3O?= =?us-ascii?Q?cqVx8wdt0WOT6BAgsW13+XRC+zn2GNy3ZXwcPZ9kdIajvBwFGl5u09U/rP9D?= =?us-ascii?Q?i2QsDRDzAiAGXIcn2fi7O4HulKm9Jb0GCJEPX6FbVun4IBc+mB+XC4yW+w0a?= =?us-ascii?Q?/R/S9K2ykty+cXtSZcS9iV9uLDqZyTRx/z+Ap+Gw0hx3oOsO93B91o135pOC?= =?us-ascii?Q?4cFOwS1gzEd78vH9k+w4mCLzzH7C7bFcxIlCKth6PaehkPrAZvu1kHUjBG5G?= =?us-ascii?Q?l9BbzJraix0MgXtL0I7chqj2xaK90hMxGEMJ0VaaNRcc7ym82cyxQUfsyPyx?= =?us-ascii?Q?PTd7HSPXFCBoQobntYyJ09BPcI2Z+bK6jJqO+GKXRsM7Npx4ogTxX+5bS1yT?= =?us-ascii?Q?bwLULf+p7xvY9sSOBZofEHaeuzwfwVUy2FmudDHhQsNnVICCE5vX5DRgVYq3?= =?us-ascii?Q?sVe+ejt7e3iiZDbi4QIUCb5Br7mCHUMNHHzqOxONDTyXuxWqoRoAgg2JyBw4?= =?us-ascii?Q?YoulY5xAQlz2IbtcQ6OL13KCZwX9VQtE4qg5tp471U8mR3M7k1azh7IyZ/sQ?= =?us-ascii?Q?u/i96qB99ufjWJhgxxV5BB5sx0Qcb2H8aZo8t5/2JZQ4CTwf1EEcJRUe76s+?= =?us-ascii?Q?0b5UsrqbqB3JMqanWDkUcOED9JZ5zY/6pq9JjGorQMsgSdFEg5PuJYpO1f+e?= =?us-ascii?Q?RI+FUcSMdDSZ3sCsay+Cn2PFStWFzWdf3/5se7SGW7b9EvoDQP3WCC2nAOAq?= =?us-ascii?Q?5qD5CVySwr38y+LRG6K8NkCkjvY2LLxOQ3dAhu/yuIzewUtOZvDWScT5Vol7?= =?us-ascii?Q?Ptu+F95YCwwI6QwzfyrPxHaFhmpboFcon7tlSsvzlAuPkqAMSqB3yo0kxq9O?= =?us-ascii?Q?wmuspjtCTNyacYWFQE6Ix01CZosPo2dAyu9aFYTp9M8pDj3bEVFE60cZX69o?= =?us-ascii?Q?QpIhKbLqHftbzxUUD0tKon+InYHT2gmx4J7rT1TdmTK6l8cke5+Eml6LBGlx?= =?us-ascii?Q?U1UosCcstIVLUyj//rc+aDybrYPHo0IGwJIJAxsESFwNrXMHCY6rhObuq73Y?= =?us-ascii?Q?3FGU9hrrNvm+/gOedCnypXdN4L5vCW3eXDjzSDdLuHKTTrAbkdtiSgmIf2VF?= =?us-ascii?Q?hdKqt3mFVww7WoUGCmX7Z0SJzu9TYfRzZ4QZ+X4+NoMFc2m8ylZDl5sIzR6N?= =?us-ascii?Q?0wQn1dhaj3ZerkZ8EIZkdqVI?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb371585-84af-49c7-b1e2-08d960b9f7dc X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2767.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 13:30:09.4757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 01vy6g1ffaICkNNVETAdf4yMmmzJ8gw7OTfnHgzRm9atF24c52AkOcizC/0YEZCe0B/p1MKfrhxa3uvcTrRkzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4512 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: softfail client-ip=40.107.237.60; envelope-from=Ashish.Kalra@amd.com; helo=NAM12-BN8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1629120880028100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ashish Kalra Create the Mirror VM and share the primary VM's encryption context with it using the KVM_CAP_VM_COPY_ENC_CONTEXT_FROM capability. Signed-off-by: Ashish Kalra --- accel/kvm/kvm-all.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index f14b33dde1..624d1f779e 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -369,9 +369,17 @@ static int kvm_set_user_memory_region(KVMMemoryListene= r *kml, KVMSlot *slot, boo if (ret < 0) { goto err; } + ret =3D kvm_mirror_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem); + if (ret < 0) { + goto err; + } } mem.memory_size =3D slot->memory_size; ret =3D kvm_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem); + if (ret < 0) { + goto err; + } + ret =3D kvm_mirror_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem); slot->old_flags =3D mem.flags; err: trace_kvm_set_user_memory(mem.slot, mem.flags, mem.guest_phys_addr, @@ -2606,11 +2614,33 @@ static int kvm_init(MachineState *ms) =20 kvm_state =3D s; =20 + if (ms->smp.mirror_vcpus) { + do { + ret =3D kvm_ioctl(s, KVM_CREATE_VM, type); + } while (ret =3D=3D -EINTR); + + if (ret < 0) { + fprintf(stderr, "ioctl(KVM_CREATE_VM mirror vm) failed: %d %s\= n", + -ret, strerror(-ret)); + goto err; + } + s->mirror_vm_fd =3D ret; + } + ret =3D kvm_arch_init(ms, s); if (ret < 0) { goto err; } =20 + if (s->mirror_vm_fd && + kvm_vm_check_extension(s, KVM_CAP_VM_COPY_ENC_CONTEXT_FROM)) { + ret =3D kvm_mirror_vm_enable_cap(s, KVM_CAP_VM_COPY_ENC_CONTEXT_FR= OM, + 0, s->vmfd); + if (ret < 0) { + goto err; + } + } + if (s->kernel_irqchip_split =3D=3D ON_OFF_AUTO_AUTO) { s->kernel_irqchip_split =3D mc->default_kernel_irqchip_split ? ON_= OFF_AUTO_ON : ON_OFF_AUTO_OFF; } --=20 2.17.1