From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023113.outbound.protection.outlook.com [40.107.159.113]) by lore.virtuozzo.com (Postfix) with ESMTPS id 8E99580F9C for ; Thu, 29 Oct 2026 11:34:49 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CiMi0jU3OmxQZm9ESQ3oqvr5gVb/QUoS7FYuZDJsHON/tZR9uV+cBO7cNDciCfgTMVTknn0+nIoGNQH/L+J5O9iGMx61EJ5LQ/19cvao0A7oSBwTBmAVAmWcf2fKBA48F1wOB6B1Oc499LA8CmuGjZx77jko4jNsGnSscgKoIpVfe6Y3zVG0dEip6mxmq6eUszYZTVfbUimH6hoops8CqhUCDiiU/e595c8+6D4KddnYjSbTeAARf5stC2MBS7JwhyPHht1Vn/OQTM+fHSroq3I/QJ6ao1KNliskGDHnELYWhHx/ZKRUNZdNhUtDh0UFY8BKIoNnqydslewq/2B3fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z/jkdxGS+2xJpSo0ma6SJBMOd93L3GVpQ3JbSkVXtYo=; b=lOqWVFQokdujd2Td+T8kLOZuXmM/fPHgQfP0bgxMFI6+vJ2ymtQmdXTvWqmmSULuZ9fcJM8r/hlOrjbJLEviz6cn/aMT0E0s13pHdIVJRIB/Pu8sZRKI7LA2xkBa7+hTNzlrfgi1T6xUtq1aXKPW1e/nPsE57lPqMbYizDLzCrlrzpTpJksZKLqBYdlEXo+rrvp1wcTF4fq92AlCmPGixVVfIGZpYkM5JRoGF795x7iprB60G8RMxc6/DjVC5qiIX79/FaVBuZoSsNLNqtxUr904/gk3g+KoYWU1GBwW9kNN7LXfCL/cfqRAr8TEUowm33Ht1BgSM5xBfx2fJo1Q/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::529) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=openvz.org; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=openvz.org; dkim=pass (signature was verified) header.d=openvz.org; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z/jkdxGS+2xJpSo0ma6SJBMOd93L3GVpQ3JbSkVXtYo=; b=HrIHnK+abEuutvxLfs8AZ3mPgSKHYf3kqiXRcEIfeb5ilhysesQX5Bjki7v+qUJIHIYg5rO7kgk6dXR6ZT2sR/nhQy8C2YNGcYUMdH7/PArz1RTgHHQqW7ayqeLCpUO/jUB+YrrRQPhexiiSa/T51mk6BY2QnZ48ZvwscW9CpzA= Received: from DUZPR01CA0091.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bb::26) by AM9PR08MB5891.eurprd08.prod.outlook.com (2603:10a6:20b:2da::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.8; Thu, 29 Oct 2026 11:34:46 +0000 Received: from DB1PEPF000509EE.eurprd03.prod.outlook.com (2603:10a6:10:4bb:cafe::2c) by DUZPR01CA0091.outlook.office365.com (2603:10a6:10:4bb::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.546.22 via Frontend Transport; Thu, 29 Oct 2026 11:34:46 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 2a00:1450:4864:20::529) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org; Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::529 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::529; helo=mail-ed1-x529.google.com; pr=C Received: from mail-ed1-x529.google.com (2a00:1450:4864:20::529) by DB1PEPF000509EE.mail.protection.outlook.com (2603:10a6:18:3::628) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.546.15 via Frontend Transport; Thu, 29 Oct 2026 11:34:45 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-6b4bd3d98bfso469437a12.1 for ; Thu, 29 Oct 2026 04:34:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793273685; x=1793878485; darn=virtuozzo.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=z/jkdxGS+2xJpSo0ma6SJBMOd93L3GVpQ3JbSkVXtYo=; b=MTC7JeZCiwxkGb4cPbseAizbKwnBFvuJbiq65Owr6IYLoVhS+O2bGqyRlj2axGVbIw oZLG3mn1oc8YQ8JjZ9HaBpPv/ssiirgnQ2CobPA6p9bldczvtfREdsy+wvmavxM3HtBU utAbwzPaWEeSjYeYZ4xZr0rYFNa75UZe2glTleFLWOJaL2lnEUbqHjFd10LabQ+F3+ac vC3tcqEhXpU0LQbLl/nv1y1S/08nX0CjUIyRD+7H4TjElcf80Wcolg2MImNNOeGEFka8 m3LF3GfxACePgaeqjG1aZX8Pn5r1q4OxTak+r1vybbTmglI2NMJs01dtdu8kSeCqGtqC 3Omg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793273685; x=1793878485; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=z/jkdxGS+2xJpSo0ma6SJBMOd93L3GVpQ3JbSkVXtYo=; b=icU84Fye8dPWXcb2q6FxqmTIM8aE/eAQfHxhQMcHCJFNNz1qMXBm8FmhLiHhVYYHK0 LSYEdooT2t+AsDMvJGQcSHf+gxIEFqCi7JwcMs3DEmdlO7383fpLAuJTTw9Ih4ed4uiQ /S6L1WyHBh4esqfertB6vycLJSXNh4FkVgaoRW56TTaALs7spIbza1YtkF4igAyiOsLH /5foKYsHSaHk/Qzi2kbEKcE+oVQhO+UDd8GX6i2Qs9XI9/7PD44fMmZ8Rnwm0D+2qU8I yzMecy84FbhddJRDI9il+VZiqu6xiem7J9n4+xpnT5Eaq+fHdaBo6LlJMFm5MVgy7VqV DNDw== X-Forwarded-Encrypted: i=1; AKwUvByoIAB5n+F+wLJkpnvthgW2XDpPPW0ybBgqETm/tCJ990S2Va4QzJT0bmeLip50PA5HGKktow9grg==@virtuozzo.com X-Gm-Message-State: AFq9FYLyuy16wFYlJEpitHt8meqvcKNWc/4C5vgJGmV4c/uehxxXTzjA zZ8Trrn8sacYzLhv8bmnWX7ojCZY0iiNlUuPOqkwWyh89YYNU9Ckciw+2cK/5l+QNfQzSg== X-Gm-Gg: AYBFou1fk7QbFNW3K32ZXRGwAT5DYpC1+qWDqJETD8op06FymCF6LsB9bUdaIbK3LMY 3JeODMZ7LO5yNhA9W+YCv69I3gZac9kIBa7uuUor54BgGIODSUEH1VH61fADQN+ozUVOYDEptB9 ZTpDvG8kWfinwJjd6Ur5I5v2n5fet+AheqLQgvH/P+BNxUBJt1c3kSAixrHwPfPqBBaClCk76YK N0uBDnqOQtF3OrVx0KjoiiKv2Fy510ND9Wupf4Ows4DNCS0xROHyOpDSfkAYzr6nsNqH/ICKQNT tvL0f3157Ty5K2+m43IjewEWcFcukPxAqVcZ/qxHwGxT3JAaI+CXB36qHd3KU8oXNfIg3BLNl06 eFqZO4tFzJ3G0nCMk+cUGoXzaE9khSD6td06XJHNZICctZ2lWtBKxBjfWFgcsQyr1QKph2+4ABD hJ58ukf4NK0i0d18f2PTwFNJ/A+lW8E6US16IhN9KnTaq9q6zu1pyi2nReYlXjmSxUyK46eIXG/ AXn/Rn623N5KLA2zaHB/IywhKqHVoQBCeDrT5JqNtreaGy9gHy7A8a+BwiykmpgeJw7m9cWTIU1 d+zH1qqIeHbdAWPwq4IvLZkhZbE= X-Received: by 2002:a17:906:f58d:b0:c2e:63ba:1f90 with SMTP id a640c23a62f3a-c49bdf8c083mr446356466b.48.1793273685137; Thu, 29 Oct 2026 04:34:45 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:f4be:f111:4ee0:40d3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e3ebcb958sm33967211f8f.21.2026.10.29.04.34.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 04:34:44 -0700 (PDT) From: "Denis V. Lunev" To: andrey.zhadchenko@virtuozzo.com Cc: khorenko@virtuozzo.com, svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH v2 hci-8.0/hci-8.1 5/6] i386: keep v-vmsave-vmload for nested AMD guests on vz types up to vz9.2.0 #VSTOR-152264 Date: Thu, 29 Oct 2026 12:34:35 +0100 Message-ID: <20261029113436.93521-6-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029113436.93521-1-den@openvz.org> References: <20261029113436.93521-1-den@openvz.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509EE:EE_|AM9PR08MB5891:EE_ X-MS-Office365-Filtering-Correlation-Id: daaad109-fd6c-43ff-6ac5-08df35b0a204 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 0 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|704161411799003|61400799027|43022699015|376014|48200799018|6059299003|9140799003|82310400026|261028144727099003|5063699009|56012099006|261009223027099003|261009221727099003|261009221227099003|261009223327099003|261021123027099003|261026140227099003|261026121527099003|261021121427099003|261022105027099003|10067099003|261009220027099003|55112099003|22082099003|18002099003|16102099003|6133799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?poBqPGLEOZ7DmkxT21HXII2CcduLfPk1t4JI0rK0btBUNE22mQinUHItCGCX?= =?us-ascii?Q?EjMyPirxtb6qfpkoCrXGet1rXlx9lJvmZ96k+nR91+6a8Jf7XTVDVx4p6Q+Y?= =?us-ascii?Q?rHo8+v1iHWKT2Pjv12TJAEf+SJJnStuMYSHcnBVNIHScNbP12QVQLGkVdEep?= =?us-ascii?Q?8H1jVcdOy32GuSLO6HHySWWFlxUcjW6170GSLF606DKeqSO63w/ZoRl+2bnO?= =?us-ascii?Q?p52GnwgNHsrQ0i1XGEUF4PO5hc93l4mENGdBq1qb3Gp+o2IPjKZHxpGLoNSg?= =?us-ascii?Q?wiH7BQPe5YB831pEJJnHdzZg9y3rWTdbMMgHiDgWPViggT9PW+/Qt5NbhXFf?= =?us-ascii?Q?3Hsc3rs9g2H/bJuNCKCqXuWHYv+4k4lsrpBAiP0DYsd5WPLybFqgmQES0MtW?= =?us-ascii?Q?q1NCC9Kz7xchMC4GF6bPIQV1VJ3xjCmJrFYXsSCCf659OsdWlznlUDNnQOEU?= =?us-ascii?Q?u9Z2lA14u29PvW/TEJREuL0VnHZclkyYszxY4y/xlyZjYTF5mBOcJCATRgrw?= =?us-ascii?Q?WHNcdUnUZCLb+iVbwFlnI5n8nCsO4CHSKg4DEFYFNJ+z9rr26APHbQAwJ/FA?= =?us-ascii?Q?smN1L3naXzS2cw6uzbUmiBPLHh5wzR/H22YWa1IXKsal9btoSTg3K4SPVO+Z?= =?us-ascii?Q?7cyXjMrrozhPCHkiyNIKWNgFBhm8KanydFa5WSTpACVjFQ1wv30cQmb06BW/?= =?us-ascii?Q?VJ7r7Iarxi3NwsNOU4b05ErZQplr0+bsstEumJKcvKDUiRyhq6BKCS15JNfo?= =?us-ascii?Q?6R2sEunpAVAAM/OOx5MEkdeQknfV3tbFzTPUGpdrJWlJAyloxCLTM9B4y6CH?= =?us-ascii?Q?yyhaV9KA+LPRxpswRDKGcJpQPhtelLJyzd60D6i9NdjPwsSty8amI6rkkFxE?= =?us-ascii?Q?+SGN3IcTpqFGhBy7BJrfcRmaTRukW8pcszmVZIsujMnQF3t8QREIhcfDCto6?= =?us-ascii?Q?GKqqijJ7Oh3Q3WapSugO85IFfQnpwlk6/wba394chvabXZWPQEu5kVzAXbro?= =?us-ascii?Q?ufLs3gdOv6NuwvkpolP0XvsfMg=3D=3D?= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::529;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-ed1-x529.google.com;PTR:mail-ed1-x529.google.com;CAT:NONE;SFS:(13230040)(704161411799003)(61400799027)(43022699015)(376014)(48200799018)(6059299003)(9140799003)(82310400026)(261028144727099003)(5063699009)(56012099006)(261009223027099003)(261009221727099003)(261009221227099003)(261009223327099003)(261021123027099003)(261026140227099003)(261026121527099003)(261021121427099003)(261022105027099003)(10067099003)(261009220027099003)(55112099003)(22082099003)(18002099003)(16102099003)(6133799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kw3En/kQ17fEF9m/EPaifQja4muUiHHspPndnL42aRrx74rqb3miyuCCCTzc5OmRvBrU4O7joYwrNaoQJrMjrAqNLC0Pw/CW1lPg+8o+ftfyuxt8Z7ryA7OCbLLBdJPH4FXZsYtpD0wFYsBkJw4fTWsztQJmY4sMpxi9vAp17eRcHlMbFyzIktgQGMOGuYPTnADP5mvn/u+YPAtZP2EG8glah4+c1Y8KQbvwcQCf8q/T3pNlXE1OsTXe6ot/afM49d+cIbT4GBcBFKkwQmNY8ihHIZ0eFs7vhVZsPAvcgYRZJA0+U+GBozunbg3Gn3Jx8tVASu/MoPD78QXAEFqr7Z9T1JdpQkABhm2l18zevuQ23+9fDMsx0/uOISkyMFQcYKPZxiIGMsM7DHF3yOfiWY2BHqB3ODAN0M00DbNAdhlYBDFY8oViLNkL1tRUylEE X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 11:34:45.8056 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: daaad109-fd6c-43ff-6ac5-08df35b0a204 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509EE.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5891 List-Id: From: Denis V. Lunev On Zen 4 client parts (family 19h models 0x18-0x1f and 0x60-0x7f) the 6.12 kernel clears virtualized VMSAVE/VMLOAD in init_amd_zen4(), which some BIOSes trigger on reboot, and KVM stops offering v-vmsave-vmload. A nested guest (svm=on) started before has it in its CPUID, and QEMU filters it on such a host, so migration, restore and snapshot revert fail. Add x-v-vmsave-vmload-compat and turn it on in pc_vz_9_2_compat: an AMD guest keeps a requested v-vmsave-vmload. This does not turn host VLS back on: KVM keeps intercepting VMLOAD and VMSAVE of the nested guest and emulates them (nested_vmcb_needs_vls_intercept()), which is only slower. Signed-off-by: Denis V. Lunev --- hw/i386/pc.c | 1 + target/i386/cpu.c | 7 +++++++ target/i386/cpu.h | 1 + 3 files changed, 9 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 91198e8996c..5b2b2de4064 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -552,6 +552,7 @@ GlobalProperty pc_vz_9_2_compat[] = { { TYPE_X86_CPU, "x-tsx-compat", "on" }, { TYPE_X86_CPU, "x-spec-ctrl-compat", "on" }, { TYPE_X86_CPU, "x-bus-lock-detect-compat", "on" }, + { TYPE_X86_CPU, "x-v-vmsave-vmload-compat", "on" }, }; const size_t pc_vz_9_2_compat_len = G_N_ELEMENTS(pc_vz_9_2_compat); diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 84abaf1ae31..52d7ffcb9ac 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -9134,6 +9134,11 @@ static uint64_t x86_cpu_compat_kept_features(X86CPU *cpu, FeatureWord w) } } break; + case FEAT_SVM: + if (cpu->v_vmsave_vmload_compat && IS_AMD_CPU(env)) { + kept = CPUID_SVM_V_VMSAVE_VMLOAD; + } + break; default: break; } @@ -10102,6 +10107,8 @@ static const Property x86_cpu_properties[] = { DEFINE_PROP_BOOL("x-spec-ctrl-compat", X86CPU, spec_ctrl_compat, false), DEFINE_PROP_BOOL("x-bus-lock-detect-compat", X86CPU, bus_lock_detect_compat, false), + DEFINE_PROP_BOOL("x-v-vmsave-vmload-compat", X86CPU, + v_vmsave_vmload_compat, false), }; #ifndef CONFIG_USER_ONLY diff --git a/target/i386/cpu.h b/target/i386/cpu.h index b5e2d88d5d5..4f8bcbe600a 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2339,6 +2339,7 @@ struct ArchCPU { bool tsx_compat; bool spec_ctrl_compat; bool bus_lock_detect_compat; + bool v_vmsave_vmload_compat; /* Number of physical address bits supported */ uint32_t phys_bits; -- 2.53.0