From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id AFB4080E7E for ; Thu, 29 Oct 2026 09:58:22 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69T9vBqZ031017; Thu, 29 Oct 2026 12:57:12 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69T9vBqZ031017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=default; t=1793267833; bh=QnS5HK+CmntGcgB40DS+9mDsTIIb0QxRgRoKjqWVOjE=; h=From:To:Date:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe; b=KpjwqdSkgFaPB47kVMGnxyeEDTVjX+ZkVQKH63cgR0GFxDju/0oh5FgQYzWW5VnVB J5t6x2azT6H1a3o9w1MTcosoTLo2zwcBSAfOj8hyOUvVxi9TmEeGD7AGQQZphJLkos rj6wS7fTnT+Oi1MmIYKS7k63Y72EQ1U279Vaj1WneILOz22qP7kx4olRQD8HqVyH9t 5TwPVLPzOV3IiTvZoLKbAj1a3VwFQqBZcRNWDD5KIixVv2BWQ2bxx9VhS7VgBaUSDI IE9UzjoIaK9lKJP5wVCASshRxWc7j4EhaouKIbQrKqzWtwpk8ql8Q7HCem+hRFj+pq n0qvlcurpI7Tg== Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69T9usbd030967 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 29 Oct 2026 12:56:54 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69T9usbd030967 Authentication-Results: mail.openvz.org; dkim=pass (2048-bit key) header.d=openvz.org header.i=@openvz.org header.b="mcWqp51n" Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-48c4445512dso1689907f8f.2 for ; Thu, 29 Oct 2026 02:56:54 -0700 (PDT) X-Gm-Message-State: AFq9FYJ/MD4ko2jq09IgWixfO6t3gORSxNO6NCXfTpAYGx2au1yqjYg6 gGJXV9c7gUMhJiGB/csqcwJwOzkDH2+UGDQVQPRNTRo5nd6CGrl3JB1lRK4D+ztuPIQmdKYpiKd kjqMt6E+NOpoKZPiWYrpZIC33Fv8d7ebUOvUYLqOcTcXbgDBp+tB0LQ== X-Gm-Gg: AYBFou0124WIaCjddfAqYdCxKABMt/Y6RsOkjiVHwrD+Ll8tBVJyHUiq5cqEaHQhFG5 C4Ch+2qUn4D1BNAkP51CK20Khz/3v2h9d5jtmV2Uuuq8z/U057AGGKFOlMFJz/l0gHS9VRA5ZoF 7DQe6dukI8IyShTEr5ife5XNlxntyiGCRZ096lIQD/xxJaWJa7A9Fq2feh6NJ4GKOcjO9oy4lh9 E2aS9cuaqyvFPMKXZPXB7Rrc5mj0kJpZ1S4OtNdO9fjtATuu5alg3dWdGjfKOXN0M3pxOANcjve u9Np8FKOZQ== X-Received: by 2002:a05:600c:6989:b0:4a0:23f:8b0d with SMTP id 5b1f17b1804b1-4a9647aabc3mr104813425e9.2.1793267814126; Thu, 29 Oct 2026 02:56:54 -0700 (PDT) X-Received: by 2002:a05:600c:6989:b0:4a0:23f:8b0d with SMTP id 5b1f17b1804b1-4a9647aabc3mr104813185e9.2.1793267813723; Thu, 29 Oct 2026 02:56:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793267813; cv=none; d=google.com; s=arc-20260327; b=NxcPo/JqaWwvOnVJ9jQYKMlom4X2qsNytQPXtmy46i1mvzTJ5xBkunvPHISSBgjlQT Cz4bzEFq9oEglr9qf8Dm+/oUIVR31MvMKXmgJAsfVOLVwYf9+zp031Q6bASRYUo4X2m8 yYgLAgarg/RpiXOsXwYvws9Ya365KbHKK6vdm3dr4uTnz4MjeW8otA4Nbf7w0tCrChOj 4O1K6kgEo7O2lRjFMhQmCGjSMEQTUKEG0JYs39RNIa0wPRE+5FWJ0wNwGTflDD51so+Y lcJ2jL0jHNztGrcuH4Nh+NkcgFpWWzu/88/Y1BzMFN63jLLWps8h5DlNlR6QNDfKNg0F uZUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=z/jkdxGS+2xJpSo0ma6SJBMOd93L3GVpQ3JbSkVXtYo=; fh=Kr/R+ZQiC/tid3qUs5C3px+AHPSuipOrrdrDcZfSlMY=; b=akCiHSU5qD5T9uguoIoYmpD32ZhpApeBoisJ2vZNaTxqKjsqRbtuljsdzVfzf+jsoo 11QC5WkHkEiMKtGJaAWkjyVyxzHyCnySszDkAQw4JY7f2vjj73PVtDxggHJ1cbGkn0VQ yPm4zr6dtm+i4mEycRR4C8JVkEwVmU9rzerEtZKy4pfm0VZiTzg8FPCWObFDz9l29WSj M13LVu5eGWMHV/no0cZkQ4cbmZlXLUxiUdXGaVHcIRVDqisiejUYfyrk59Q7a+rkPt3T vVsfV9G5egQ0Lhsvz4z5bud4Wic0UuWtF0FywWlEzr6JH5PadxgLWtw5/NTiTKbtJbFO +22g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=mcWqp51n; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:2c3:d099:6fb:56cf as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-4a35a2f2d13sor37127655e9.9.2026.10.29.02.56.53 for (Google Transport Security); Thu, 29 Oct 2026 02:56:53 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:2c3:d099:6fb:56cf as permitted sender) client-ip=2a06:5b06:b600:300:2c3:d099:6fb:56cf; Authentication-Results: mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=mcWqp51n; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:2c3:d099:6fb:56cf as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793267813; x=1793872613; darn=openvz.org; 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=mcWqp51nt7ZvSuv8nl/XINtFH5ILQzSFKNHrvMzPLeXbJUFESEkVdTUdNiTA7tRkqi j6aMdtQzt2RaOH2YsN5+8NFWvxyNE8z5Us20jyJa/utz6HBKgXokpNiWGbDDiWSuYwaV x5NkBcCmIacKQbRcfoNltmUlT6hxM7Q0XF2QsxMa2g1azYEi/FAPSmwg7zlktgYnLC9r p1VEw9NyOLOfxwkBa2WmE9LSIjnaQaeNvZdktRjWu1Mld0xongbZQQDMqoct48poVCMg audPAXvOx05TfgJq+R1YYJM3y+0rXBP6Oh8+yhH2Q6Dzn2B/tcu4AEJqD6ppYwZMeJoT f6rw== X-Received: by 2002:a05:600c:19c6:b0:4a3:598e:e7a8 with SMTP id 5b1f17b1804b1-4a9647ab607mr108879095e9.4.1793267813178; Thu, 29 Oct 2026 02:56:53 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:2c3:d099:6fb:56cf]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e3ecd3418sm29958312f8f.41.2026.10.29.02.56.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 02:56:52 -0700 (PDT) From: "Denis V. Lunev" To: andrey.zhadchenko@virtuozzo.com Date: Thu, 29 Oct 2026 10:56:44 +0100 Message-ID: <20261029095645.4173762-6-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029095645.4173762-1-den@openvz.org> References: <20261029095645.4173762-1-den@openvz.org> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH 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 X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org 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 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel