From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023089.outbound.protection.outlook.com [52.101.72.89]) by lore.virtuozzo.com (Postfix) with ESMTPS id 9322880F81 for ; Thu, 29 Oct 2026 12:25:41 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZOcCr3MO94nmKCxW8vnROJvndR3D+6s4I90ezLBDpaFTrScvE744Fw4957CFDDWYPKVuTSRxI5gAITlBLvmK2uAKlwjHyY3u9fSMKRih9LPnarRdNohSDi3YMwD18STVcGsQ51zcTylaLqmUJ0OePffZB7BVpqY3CQexaBa/nsFfG2tTAauJJloNEqpuuFdsdVe/j0pJVvdanadKmofUxi+QuDcsVecJLmnc43NcHRT71jfjuhx4HBC3MDCuEbKtDc4Pq6W4kAKX4cDLZIDq1LcTLC3uiyB/4H8ak+nJnG3sbB2N5DhhTRp1lKoNG/umRZOgI2OSQyxSst8nqzdKOw== 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=LZ40T1ilR20aU2JFneOgpqdDsU6mNC4lb3TtxeP5Jq0=; b=Y4XgiKgkLfHhgUSWEwcQ9N9bwSQo8oot/qR3P27EAOr+nrpI4p6zFUGJ9pQOxt4Jrx/9+cSBVwpzwqZJfnPD+F6odEoiVlvfIOoiPGiyRXvvVCAwwNFSrUAxIf567yGj38xZo/lkaNqj5xVaaHhAoL+ZuIEd/bPWEvwXvjiyWJ/Cb5+/LMG1hh10CKWjn1Sb1Q6p4RYoG2HAW2BZI1+SOQkgUYxE8clp9AO1dgnxIRjmo2OeCLYo3yVFx5ev7NOiCRdPvFKv2wBX32x+jIvGah2jt1MNsDpx3tm+aAvwAsKmXDiB3LTmA5Cu5RQtnKGFFYEkNYAUh63QaLxfWW44Cw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::32d) 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=LZ40T1ilR20aU2JFneOgpqdDsU6mNC4lb3TtxeP5Jq0=; b=D9APev2v85sudx+690tirQXnrPyeP8Q+9GujbJeDjF00wmuX2ggV0Z5r5G9WN0mh4m/k1FB5Pays+fV6eQcnHDPvu+kkuPhcf02hJmkYANwtQKL9QwhLZOw8cQArfi6+ZZTbo5sz8CFKM3MqEkbPXj+sBwQ8BfFyRcyHb2pGgt8= Received: from ZR2P278CA0068.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::11) by DBBPR08MB5961.eurprd08.prod.outlook.com (2603:10a6:10:203::10) 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 12:25:38 +0000 Received: from ZR1PEPF0000E6B3.eurprd05.prod.outlook.com (2603:10a6:910:52:cafe::74) by ZR2P278CA0068.outlook.office365.com (2603:10a6:910:52::11) 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 12:25:38 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 2a00:1450:4864:20::32d) 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::32d as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::32d; helo=mail-wm1-x32d.google.com; pr=C Received: from mail-wm1-x32d.google.com (2a00:1450:4864:20::32d) by ZR1PEPF0000E6B3.mail.protection.outlook.com (2603:10a6:918::15a) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Thu, 29 Oct 2026 12:25:37 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4a210470b49so16848625e9.2 for ; Thu, 29 Oct 2026 05:25:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793276737; x=1793881537; 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=LZ40T1ilR20aU2JFneOgpqdDsU6mNC4lb3TtxeP5Jq0=; b=sjdiwLGDojOs7om+9AaCwaD1NBAtt4hwFxvKgWBK2o8nWNXf4TkqOwd0/19gRy+Axx VKz5afs6u6Xao/cGzG2vaI8FNae4iMKSFbpv6RdMokrNREnbsl0hyXCXFtZdUadm5Bd7 oH/JLZibC+wRP0Eyo8DaMiEc9C35nnGJrdliaL3PZ140cjvbuITan35mAdbMe4bIUmtq 5DKjjYEJioMMoylJ/GMNh1M2mRQpoX7ssiGwn4zsLNq0AbUsT8NHgwUI7UgMPEeIc2gH D3sAOLERiwyasg1o3jNGn6mRdqKbretWbccO6Jb6Me5O6TpXmCobuFQuopo1MvgeO1Ly PGeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793276737; x=1793881537; 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=LZ40T1ilR20aU2JFneOgpqdDsU6mNC4lb3TtxeP5Jq0=; b=e8YClFouBioXz/arK6vpxZVcB+7Y0+AQc0+x3P5o4zorBbTi+Gt/kR2C9YFufaUhtg Wc0g5rr/RRLt/OSGYkPG1LQdSl6KIGlwt/CkoHawymJrtIsbLrAe7OXFKHBM5tvVZRK1 AbH6xIGN2icDFkl9HmjkCJpFIh/97r3+LEFxE+nsoLf4N+OtFaphVj22FlR2bCK36i5E qU2uK3q094/golDBN1/rEC41oytRTMv4/MGlUo96UkdAQaGUB8wEQnwIMQrL9ZeG+4dF kDBHCbaaYKQOsJx43BZQMCnB952QV4JstrVO5k1DDC0eEKYfJq8WswvKaw3UtC9c93Mr 7rAw== X-Gm-Message-State: AFq9FYKiRcCo+PCQCnxtkpANjDtrbEi/tvPIvg6V6wzcZHrI6rYdVqMY aZHfizyJuN09pjTY9BfFrTRcAffcyk3Dfaaot4/p4b11VOTp5KVCF7kEaqETNulB8205Sg== X-Gm-Gg: AYBFou1wMlemHvDYUKwWZsxBE4CV+uZKq+tsLjjomQsWAw2tlHPYN4coT+SI0TxDNX8 lbJTjAz3UZhKW3ieVdqp18H3T5aeJ20D/8dPiTM1CWXjxVuIcCrlXzh0sgM8I7ScIZIbvWWzPBs lFmYQHODdMSO5M/e2aOamx4F2zEt62RiB593xYXTn5nuscwek+vK15T9tfzfYCp2orRhyTSrdn3 Di/StnIreY3xlL4SX7O4qpf+/v1e8vQNEUfjBGWTE1BN6nDIDPgZorMcJXadFodJQb1o/6x0QOU 80j6Dmb1RUlfYQz9cs5W+uT2X3I8S4J9V/3+c+gG/gHAhdlua7TAwy95yVZWy3mrn3JP5w/zccR C2kWjEmgsRNw0H6K5qzBMSFBJNGLpfU4eoKMycb3NWgOtMS6njs5dfufmXywBBRaG4Z0dPg6gKp 9lPYsiwRJrynn0pOqKzcS1qotRnH3C4on2nZHQobbdh2H5+k20V/5VS/sNPjGHaPqarZR/CKSnU KXeH7dtmNghMo1IrHboFb8iqLtUWOdzBEASPHV5F6i/KRDrS6cqHosDC0WMZGHdswH/1ea3XW/h OwpB3y3n3/EbNuROfNRGxawFkw== X-Received: by 2002:a05:600c:1d0a:b0:4a1:fbf8:55c9 with SMTP id 5b1f17b1804b1-4a9677ca11amr117435455e9.33.1793276736904; Thu, 29 Oct 2026 05:25:36 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:f4be:f111:4ee0:40d3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4aa80285b88sm62423205e9.14.2026.10.29.05.25.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 05:25:36 -0700 (PDT) From: "Denis V. Lunev" To: andrey.zhadchenko@virtuozzo.com Cc: svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH v3 hci-8.0/hci-8.1 6/6] i386: keep SVM leaf features without svm on vz types up to vz9.2.0 #PSBM-144630 Date: Thu, 29 Oct 2026 13:25:27 +0100 Message-ID: <20261029122527.365104-7-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029122527.365104-1-den@openvz.org> References: <20261029122527.365104-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: ZR1PEPF0000E6B3:EE_|DBBPR08MB5961:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f49f15b-50d2-4c6e-52b4-08df35b7bd1a 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|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; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?U7cUqArb29zQx2lWBGgGbpqSqXMbn4+oDe+6mR4NswGyUx5Ug/3Y0dEd+yT3?= =?us-ascii?Q?1k4i2hkz+QaS99Pu7Yjw8rsN/Z0ECcw+dEOjGmlL/NV/awBscV+1SnIWfnfr?= =?us-ascii?Q?BD7DePM9qOUNgzf7Q5F1bgrhQQHv+i/l7kUZeVPtxauimw85whp1b3A/pYKK?= =?us-ascii?Q?f0jnDPwt3pL3WAkBvJZS0S+WamEaFlguovnzjm5uL8vudKMr0o2HIdo0Ul4Q?= =?us-ascii?Q?0CYOFpW6Kq/oJ0puuqiy4g8WEaaLvdg8nr1acWaV2rP5rCzzV8Z4y/bV8QtJ?= =?us-ascii?Q?QtLbeGRu/aBsC2cdPQBMAbe+CghMvJZCFk0B1dQeAI9fY0sI1KbrE5ex0w1D?= =?us-ascii?Q?IiRrOHMef6yhgrr030PeWJIub8/+vnbeoYwj6EOx2/A7EnLDoYu/xn1+fKw4?= =?us-ascii?Q?1H5qbJOrRuMFxLX1TqFeyrogWxuexWttbig9fYzlbapWZCh567wOCfdVF/M9?= =?us-ascii?Q?Qdfi4yWeSgCTez0XBkipvetrbQIvr23zOQs2N9RJLCptiyuaQtskp2ph1T6O?= =?us-ascii?Q?YzA8HEOMPNOidZ8zStJLgroGM1cHBbFFgmjGiE4jVCQ75C1777BnMkgvdXvO?= =?us-ascii?Q?2VoDzjUyEqFMB9sZQfJihb6zPSswjbRFIWQJEXeKTwRL/34uallX7Oad6iN5?= =?us-ascii?Q?TyRHNYYQRUrMstKL5SIhaQpLy2pECGl3Na6nbKTtiXWeIujTZECIxjjlx6Sa?= =?us-ascii?Q?fe+qLEIreKjB3mSfPhWJqfM9av8c07TLBxLEeZ9MW39jEydYp/HOK8XEvJXH?= =?us-ascii?Q?PHlLD9ORyxz9DcuBkRFwkFLmumFNroVpvP/0Pt82XYRi0DOpknJtQ2MQStX2?= =?us-ascii?Q?Birz6a2A2AR05UVZXkKVtcaSSE5hbAH+c0v09pGWXxPqmYN8OX0b6dh9JC1y?= =?us-ascii?Q?LqL/U2BrgdwiZfdwR7MkIL09DD28r6K0rvsabJi//zK4Dg0AOW4iqdFD3sE8?= =?us-ascii?Q?4hARBW3E+4iEJBcg9mU/yhJ1oIa77Xj8Q7+T/8/pnXI=3D?= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::32d;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x32d.google.com;PTR:mail-wm1-x32d.google.com;CAT:NONE;SFS:(13230040)(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);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: X2BoIxAncUHzTdeOFxNzyEf3d6hSFuX9C3gBsdZFjeOUOkelsqU5I0vLQR326sSx5/SAsunQI90Ks6x39KH1wMNFN5Z8LlIKv5Z7opAxVzFkUrfssPjKZ8j8TfXlX0sDaEuoI2C5mf3qArHFHI6Fnhb4fEYkaFBVwKQxpotQpyX+GieqMVrTlrNXVkfBvobFMLEgbZMM2EXnnHMuobejQnTE8jKbg83wY0BdfBa0UWQrkGPnd7IwkK9lAh+KGXfMKk5/vtq/J3KU9/YaC9Xt291Ewrk2UzZhwtggFRdfniHkeCH5dII4mNCrNrq4yYgScDKVpwIYrpY/jKL+OLgetqvfW6Pzgwdf//uX4KRvAGJ35rckC+oUciEx81u+JnXtp+FlOTTwWLc3YSoP0LSXiA73YdhwXIyFeBZJgnEvivlUJREEtG4UGrQmpMidzn0D 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 12:25:37.6726 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f49f15b-50d2-4c6e-52b4-08df35b7bd1a X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: ZR1PEPF0000E6B3.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5961 List-Id: From: Denis V. Lunev Since commit 730319aef0f ("i386: Mask SVM features if nested SVM is disabled", QEMU 5.1) the features of CPUID leaf 0x8000000a are dropped when svm is off. QEMU 2.12 on Vz7 kept them, and a Vz7 host-model guest runs with svm=off,npt=on,nrip-save=on. Moving it to a newer QEMU fails in libvirt (PSBM-144630): guest CPU doesn't match specification: missing features: npt,nrip-save Add x-svm-features-compat and turn it on in pc_vz_9_2_compat: under KVM requested SVM leaf features stay when svm is off, both against the dependency on svm and against the host. The guest sees the CPUID it saw on QEMU 2.12: cpu_x86_cpuid() reports leaf 0x8000000a only with svm, and the kept features raise the automatic xlevel to 0x8000000a as they did there. With svm off every FEAT_SVM bit is kept, including the ones -cpu host takes from the host, which the guest cannot see either. TCG keeps dropping the features, since it cannot provide them. Signed-off-by: Denis V. Lunev Acked-by: Andrey Drobyshev --- hw/i386/pc.c | 1 + target/i386/cpu.c | 13 +++++++++++++ target/i386/cpu.h | 1 + 3 files changed, 15 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 5b2b2de4064..9b6b51bd5f7 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -553,6 +553,7 @@ GlobalProperty pc_vz_9_2_compat[] = { { 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" }, + { TYPE_X86_CPU, "x-svm-features-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 47027a2b828..29e7b4b7e15 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -8996,6 +8996,13 @@ void x86_cpu_expand_features(X86CPU *cpu, Error **errp) for (i = 0; i < ARRAY_SIZE(feature_dependencies); i++) { FeatureDep *d = &feature_dependencies[i]; + + /* CPUID leaf 0x8000000a stays empty without svm anyway */ + if (cpu->svm_features_compat && kvm_enabled() && + d->to.index == FEAT_SVM) { + continue; + } + if (!(env->features[d->from.index] & d->from.mask)) { uint64_t unavailable_features = env->features[d->to.index] & d->to.mask; @@ -9138,6 +9145,10 @@ static uint64_t x86_cpu_compat_kept_features(X86CPU *cpu, FeatureWord w) if (cpu->v_vmsave_vmload_compat && IS_AMD_CPU(env)) { kept = CPUID_SVM_V_VMSAVE_VMLOAD; } + if (cpu->svm_features_compat && + !(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_SVM)) { + kept = ~0ULL; + } break; default: break; @@ -10109,6 +10120,8 @@ static const Property x86_cpu_properties[] = { bus_lock_detect_compat, false), DEFINE_PROP_BOOL("x-v-vmsave-vmload-compat", X86CPU, v_vmsave_vmload_compat, false), + DEFINE_PROP_BOOL("x-svm-features-compat", X86CPU, + svm_features_compat, false), }; #ifndef CONFIG_USER_ONLY diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 4f8bcbe600a..97e38013e46 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2340,6 +2340,7 @@ struct ArchCPU { bool spec_ctrl_compat; bool bus_lock_detect_compat; bool v_vmsave_vmload_compat; + bool svm_features_compat; /* Number of physical address bits supported */ uint32_t phys_bits; -- 2.53.0