From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259814; cv=none; d=zohomail.com; s=zohoarc; b=aQGd2cSkK77O8kb0zd5xBSpLYg/AeqAFBK15ZTg/hrTf+Og42r+F22Q4D+xaghslzLNMtDPf2+aq/UQk/6FqnC6N15GeMmrxaNbX9oXCOny1d5aryulOUS4CZT2F9jW1fD3hmhtvmD2Hn4A/jKU0Q7kZOBpzEA0+jzyMt4le1X4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259814; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aiXyhBzTJzaIzKx5bXgk3uW8CyShOVzrypP76mpg4o8=; b=ln9Dhv4J6hRHio4dy38jNGWcFIROoh+zHrqD1hbp9n5sWEGpLACT0cSJeU6LPERfcQJW99d7ekQ1iwxnVpIR5EkXiau/WTaHTqT/13We9SIU/rjjcWd3UIeA6aGmLJywrusoVBswWjK/wxW7KblmC+RQ5suMkTMX6wGzkuA33W4= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259813963833.329981344086; Wed, 15 Apr 2026 06:30:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JG-0007D4-Ic; Wed, 15 Apr 2026 09:29:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JF-0007Cn-5E for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:37 -0400 Received: from pv-2002d-snip4-11.eps.apple.com ([57.103.64.251] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JD-00046g-67 for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:36 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 6C4A11800545; Wed, 15 Apr 2026 13:29:32 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 161D2180013A; Wed, 15 Apr 2026 13:29:30 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGlkfHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259773; x=1778851773; bh=aiXyhBzTJzaIzKx5bXgk3uW8CyShOVzrypP76mpg4o8=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=N3LR8O1DJqmPRNt7BxesuylYQW3TnsP4HTObO3USvwjJFlq91c9OgxOjT5UTD7k/Yxc8rhTjWCRkkjvDiT1JG1xrZge9qQYSF0OFn3J2ZYatYXUQfG2c4piYmb/xs0qllMPr6I5oPpVN3nOFECt0VoBvk4fak4SModKdtvuxTx8TomvikZxJCVQGkyHxXiAT0Qw+lEfJDVd3Ktgjrf3Q6hnMJe+9AfmR2O31HWve8YGrP2Rfuyw9W5jTmdX/YqQ1eKfGhFHg+eEcV6BCKkESY719D3d1xT18hBadzAXUiJXF+qbcxn/kdj4+G+L9+r56qorIP5+P+drE8tkxaeKgJA== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 01/10] whpx: i386: set apicbase value only on success Date: Wed, 15 Apr 2026 15:29:17 +0200 Message-ID: <20260415132926.58878-2-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: sFncb-C0KLGaTICGFUxnyqvT2knKKtoX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX833b+YWspKs8 4UQYkNgikMSgZWYGns6AaTjyjvK9aonIhqb6RzKXHjF6ofunlvzZXwJOO6OZOkjOVDhhNVbGMhz JfEn9adg87c6EVxoXcHLgg9pLe78vBsM5pujkffTDJnLxytseIA6e1oLs2s7Emz2WLkXsN5MJhU xe6fLB9z7G9TNdbacArpcSM/f93E2w3WP5YJQly10a8WGHr+UfvhvzneBQf6IdktzR/2OJcg4Nq 7vUWd9ERhbPdXKx7zCciXkJCHVjOZx+FLUAex0DZqzynlQbyuH2k8LVh6x64avAROFqLSXX9KhX w+JR2WFKHdVdXXuFktLSn6rzvYJb4LQcn22Xe+3xSQndana6AoJtUfVLv2mBpU= X-Authority-Info-Out: v=2.4 cv=Xqr3+FF9 c=1 sm=1 tr=0 ts=69df92bc cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=uh2sygq7LFHjsVUyvz4A:9 X-Proofpoint-ORIG-GUID: sFncb-C0KLGaTICGFUxnyqvT2knKKtoX 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.251; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259818605154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 86d2dc1df8..56a789c5fd 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2001,8 +2001,9 @@ int whpx_vcpu_run(CPUState *cpu) int msr_ret =3D cpu_set_apic_base(X86_CPU(cpu)->apic_s= tate, val); if (msr_ret < 0) { x86_emul_raise_exception(&X86_CPU(cpu)->env, EXCP0= D_GPF, 0); + } else { + whpx_set_reg(cpu, WHvX64RegisterApicBase, reg); } - whpx_set_reg(cpu, WHvX64RegisterApicBase, reg); } } =20 --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259835; cv=none; d=zohomail.com; s=zohoarc; b=J1zFWtlIgjUzglgG4/7S4WOvtJYlme+VoWmwFBoHsYZM167XgPYzuEDsKV62HHMRgdl38uMtp5DMmhIn8NpwadG0ThUljFZH2BEx49xBq/IkNvpJM5IsXr1U0+K9KPb+UxaYIl+yJv6Q/n1slXAiLrIagmx1truErgtzFAjhJkI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259835; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H55iPnzts7qCVmoBJ9TP4r+Lt8OW7TgpBaoEUQHYL2o=; b=BHDTwONQhwNXPfkgBXqd0weTsy2e+1/rf1eW6n+vruqLrfDqWZaR1cqd69pLsKCD1Cho9v921V/etThGLb/ocaKwNXibYwl6pWxa6XlSSSahyy8Q5S9eb/vb7I1mD2I8SSdiQJMmUvvrcLJfMoPEIwH3jNc/bQqneXestAVAKv4= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259835579305.7710968255137; Wed, 15 Apr 2026 06:30:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JI-0007EM-8r; Wed, 15 Apr 2026 09:29:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JG-0007D5-Du for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:38 -0400 Received: from pv-2002j-snip4-11.eps.apple.com ([57.103.64.151] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JE-00046o-3g for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:38 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id C9A5D1800129; Wed, 15 Apr 2026 13:29:33 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 769F51800110; Wed, 15 Apr 2026 13:29:32 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGlgfHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259775; x=1778851775; bh=H55iPnzts7qCVmoBJ9TP4r+Lt8OW7TgpBaoEUQHYL2o=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=coh5rJSvRUhYUmxkX8amr8Ygb8XVGbO+JCbpJzjbAAnExqX4bdRGQXwfLgIaPS9Mpx4Rp0M+aKT7KFIH7EOF3d8NP7S92xPj1Dahr+P4lpOhHRVaO7rdDce2j4R83VLQyOMwXIJfTLgQ+iqkQJhSrqWWOtJxrAMcK/OzTmzYdOfCeTwTKEr2uQn50GeVuwAOb/k7dj+q9d0wugi+0XDFO2Uosl9ewIto182UHlGQD7BQZongwR+RbEm41PI4fKRAfTKPQlumykO+qS7h+nPKc690Gev87ZnRDc6xfUjSCz50Yur0LfCEClJ/yfEGSlwZteVpX/GtLzJqDUsxeujcCg== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 02/10] whpx: i386: unknown MSR configurability Date: Wed, 15 Apr 2026 15:29:18 +0200 Message-ID: <20260415132926.58878-3-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: CY9vgXRQVohNefC6jBTQfp_sFYt7uy0b X-Proofpoint-GUID: CY9vgXRQVohNefC6jBTQfp_sFYt7uy0b X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX1W2PC/gwk+c/ tRhsvfr1Ilx5+MWXUE7jvTv0adptCafUZPnnB7+CFOSkqj7A8r5sZ0hhNAR0zXHjs0LgfzIYoxy AbDBfqRy6TtE2BSdr+I1P9OHZCRAzTLj9V/A4rK73vU/Y8mANj0re8KYg4a2byYbRCVJ9h2BR0u wmj1EKV4IQwy9ar+/Mmtkeqzr8RPDWWdi8J8gUp3NAb2el9BzXr6ettoMtL4r+KWwj/6Q3m3txL TNqymdabWbglrzqh40BkGqQwhzronTLSqw6VdAVc6SpAn1qvaFRRGBWYxtoMrGoXSDduimZoTSu Ye85oPlktAcFL+PQVzfKJa6c3bRJwMJ/Gm39iM1PNUHUIX/jwJTTPPuAoDTxzE= X-Authority-Info-Out: v=2.4 cv=Rbidyltv c=1 sm=1 tr=0 ts=69df92be cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=9z_AL-2ZILZrMqfKHsQA:9 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.151; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259838113154100 Content-Type: text/plain; charset="utf-8" Add an option to inject back a GPF for unknown MSRs. Keep it on by default for now as Linux expects accesses to some AMD-specific MSRs to always succeed when on an AMD host. Signed-off-by: Mohamed Mediouni --- accel/whpx/whpx-common.c | 38 ++++++++++++++++++++++++++++++++++ include/system/whpx-internal.h | 1 + target/i386/whpx/whpx-all.c | 4 ++++ 3 files changed, 43 insertions(+) diff --git a/accel/whpx/whpx-common.c b/accel/whpx/whpx-common.c index 59be996aef..706871f138 100644 --- a/accel/whpx/whpx-common.c +++ b/accel/whpx/whpx-common.c @@ -505,6 +505,38 @@ static void whpx_set_hyperv(Object *obj, Visitor *v, } } =20 +static void whpx_set_unknown_msr(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + struct whpx_state *whpx =3D &whpx_global; + OnOffAuto mode; + + if (!visit_type_OnOffAuto(v, name, &mode, errp)) { + return; + } + + switch (mode) { + case ON_OFF_AUTO_ON: + whpx->ignore_unknown_msr =3D true; + break; + + case ON_OFF_AUTO_OFF: + whpx->ignore_unknown_msr =3D false; + break; + + case ON_OFF_AUTO_AUTO: + whpx->ignore_unknown_msr =3D true; + break; + default: + /* + * The value was checked in visit_type_OnOffAuto() above. If + * we get here, then something is wrong in QEMU. + */ + abort(); + } +} + static void whpx_cpu_accel_class_init(ObjectClass *oc, const void *data) { AccelCPUClass *acc =3D ACCEL_CPU_CLASS(oc); @@ -538,6 +570,11 @@ static void whpx_accel_class_init(ObjectClass *oc, con= st void *data) NULL, NULL); object_class_property_set_description(oc, "hyperv", "Configure Hyper-V enlightenments"); + object_class_property_add(oc, "ignore-unknown-msr", "OnOffAuto", + NULL, whpx_set_unknown_msr, + NULL, NULL); + object_class_property_set_description(oc, "ignore-unknown-msr", + "Configure unknown MSR behavior"); } =20 static void whpx_accel_instance_init(Object *obj) @@ -552,6 +589,7 @@ static void whpx_accel_instance_init(Object *obj) whpx->hyperv_enlightenments_required =3D false; /* Value determined at whpx_accel_init */ whpx->hyperv_enlightenments_enabled =3D false; + whpx->ignore_unknown_msr =3D true; } =20 static const TypeInfo whpx_accel_type =3D { diff --git a/include/system/whpx-internal.h b/include/system/whpx-internal.h index cf782cf5f8..86639627b3 100644 --- a/include/system/whpx-internal.h +++ b/include/system/whpx-internal.h @@ -47,6 +47,7 @@ struct whpx_state { bool hyperv_enlightenments_required; bool hyperv_enlightenments_enabled; =20 + bool ignore_unknown_msr; }; =20 extern struct whpx_state whpx_global; diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 56a789c5fd..b248afb5e7 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2048,6 +2048,10 @@ int whpx_vcpu_run(CPUState *cpu) vcpu->exit_ctx.MsrAccess.AccessInfo.IsWrite); } =20 + if (!is_known_msr && !whpx->ignore_unknown_msr) { + x86_emul_raise_exception(&X86_CPU(cpu)->env, EXCP0D_GPF, 0= ); + } + hr =3D whp_dispatch.WHvSetVirtualProcessorRegisters( whpx->partition, cpu->cpu_index, --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259824; cv=none; d=zohomail.com; s=zohoarc; b=isXMeZydjgZ1/qHJTtPT67zPeO5/bX0eKltJl7R8v5Do0vor/yvq77rxTo+cSZBU0s6O8ypyKMKb59RRaE2SOxQYzF9s6SAkJqXxAPBD1htBRgxQgB7yNCO2BYFvtemnDDDVSCaNhxst0aI4Zk5uKNSPKNh9l9yG5IbLoQcnGCw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259824; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TrgeVsVYtEOZKp22T3irnEElZdL3/X6V7jZ6IikmDcQ=; b=EY+zY40qakAH2hSJIL0I7RHmuFw4ItDA+t3KtshViJeja2Cg9fb6WH3KrkYOsApYg8sHQhUgLNsmDQJ9Ett9JsGB52/hgkJUfgVn+Ct5WHBqaVfnoaox5w1uBJgG9ZzKnP2E5Rnx02oFiq6TIfk0l/8XM860m56lqgwGzFnqGM0= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259824751529.2002528123816; Wed, 15 Apr 2026 06:30:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JI-0007Ee-Lg; Wed, 15 Apr 2026 09:29:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JG-0007DK-MV for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:38 -0400 Received: from pv-2002l-snip4-11.eps.apple.com ([57.103.64.171] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JF-00046z-Bf for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:38 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 36C0D18000AA; Wed, 15 Apr 2026 13:29:35 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id DA61C1800373; Wed, 15 Apr 2026 13:29:33 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGl8fHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259776; x=1778851776; bh=TrgeVsVYtEOZKp22T3irnEElZdL3/X6V7jZ6IikmDcQ=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=RPuVgymDhYH/6YFTpUaRjtZxq3Da2qCFY0EuZIYPfbJn1IIDKouYYi4sOlwFIl0Q8nKUca0YYH//vuvr1h1VF8OGGMv/IxKaOX/FMwjpbuv1JyY1JTnyhFolQ3Q2jkKVoGXhymwAcDHNnRIevoj0Ql8vwg6ppX0r53K/vhZfjfKZCvk98pBMPhMVDs6kgrHClUIUfQjwfMW0Ricd8plcenBcrin7uT960drJHQrgopVRxoyIjvYH3GrCoQCa86kDYUCj1HgO3XMiAvi6yJ2US6yx4KVW02iagk6X1nsOFxdy+mO39KTPUBDbsHGdf7uZYDp7k/z2ryHAOdoRY/KGNQ== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 03/10] whpx: i386: enable GuestIdleReg enlightenment Date: Wed, 15 Apr 2026 15:29:19 +0200 Message-ID: <20260415132926.58878-4-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: otC0XAmYAuCT4wa2HJzb1i6QCiCBmm3S X-Proofpoint-ORIG-GUID: otC0XAmYAuCT4wa2HJzb1i6QCiCBmm3S X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX3gCCJPaO/W9v SEUodMbxf+6sYjprL29RVjfzGXXQS3zTFxvG58We67AvUrVx6TbGDPFJOMUc0yAvwKILs3+Inmi OlcytAMe3iaCE5Ce29brznV5skV8DqvBH7pfiy/puPwM7CcMVjMKWbSp/GynAKeHm9EwUwT3wfI hWF2BbPVZUUo2YguiCJ4Hn/Pmu8RyXGorXA28p9bwPzKkYBzNAi46WGTg/IAWEcBRYomn+RAdwK tnjYS0vd0/8AUejug3fcD+FaHVBM/MpoqZ7jRkoBf1UtTuUI5kepNrY3HI5RvM5eh8KYMWDjDM2 X5udH5LLb5lVhvh9rDO9JHjepxCpJYv6XO+cQXviFDde07CxU5V1G3kc7/WVak= X-Authority-Info-Out: v=2.4 cv=ZIDaWH7b c=1 sm=1 tr=0 ts=69df92bf cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=givlr1pFTcEyfNb0yRoA:9 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.171; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259827784154100 Content-Type: text/plain; charset="utf-8" This corresponds to HV_X64_MSR_GUEST_IDLE (0x400000f0). This enlightenment is only available by the HV when using the Hyper-V LAPIC. Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index b248afb5e7..73066581d4 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2686,6 +2686,7 @@ int whpx_accel_init(AccelState *as, MachineState *ms) synthetic_features.Bank0.AccessIntrCtrlRegs =3D 1; synthetic_features.Bank0.SyntheticClusterIpi =3D 1; synthetic_features.Bank0.DirectSyntheticTimers =3D 1; + synthetic_features.Bank0.AccessGuestIdleReg =3D 1; /* * These technically work without the Hyper-V LAPIC * but behave oddly for multi-core VMs. --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259816; cv=none; d=zohomail.com; s=zohoarc; b=i49/MgLwGtCV0YTzne0z2j/JKwFGqWNWXmHVB76P++ZSgJALwVJ4t7UHdcvGW0QFnbS8oy1A57OVvSVprijTg7Q4y4aSvPDRM/OykZ+lKWaY+bKNYMHd49PPkbCQyBdyzpEBVaF6zYypSo+K0HVTvRSykmlFO/dWOH8aG9hqRXo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259816; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Yl0JdZN7K1dS8wO/C1JQWlTRVuBjUIl21ZEIdD6QW+U=; b=JJrJGyAKEwUlTVORCTpSjw5ND6nihF0+OkUqnaMknouqkRzj3/dunno23tH5yXh9zsUjKMEnpRQCjfIimikJcOgO+vBM6zOBwuo9WHgfjk6gu+6RgNPFBEqbCTM19YUyXVNNtURy42dXOBgAE/xqxMqydK3ru1lDKo5NiSUteqo= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259815992733.8209199331463; Wed, 15 Apr 2026 06:30:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JJ-0007Ex-3W; Wed, 15 Apr 2026 09:29:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JH-0007EE-PQ for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:39 -0400 Received: from pv-2002f-snip4-11.eps.apple.com ([57.103.64.231] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JG-000493-Da for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:39 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 7F2E31800373; Wed, 15 Apr 2026 13:29:36 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 45D911800110; Wed, 15 Apr 2026 13:29:35 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGl4fHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259777; x=1778851777; bh=Yl0JdZN7K1dS8wO/C1JQWlTRVuBjUIl21ZEIdD6QW+U=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=EB2mW5rPkbrcbeyRDEkzzsH1MNCaiXVyD1X/XVus6MPO1vA7LCt8cu0bH5JVP2nBFU2vTXge7+A938RGc8sSk8rG3Q02yXW6qDOF0DygKswlrKRY0yTgkwqdDfmS2sYOgMjvu5CEt/2dw7xNdwwxmun58gqq1ZLveo5iVkyQOSrsQnwN3uPCrsKj/tWXGN3IayFQL9OidrKsQBe58mevrcm5K9/TZMM7ys8aqAgmZu4Jm+V+IGp0jblwjEbHOIzxqoTlcOQ+Hl9gnV69hRYzSoHT64ciVC3u8Q+ZpPPnZ2sMChWi7mkPawAwWsWufWZVU+WcxzhUZGywoBGvPr2MbA== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 04/10] whpx: i386: tighten APIC base validity check Date: Wed, 15 Apr 2026 15:29:20 +0200 Message-ID: <20260415132926.58878-5-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: _zBtD9wD8v6gs7VaIe4pV-ihNDJNy2fB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX2CI4k9tc1sDu Dq48e+Bk++t20P/pkBf3jwzBzBxDbmk7rWP7PbGQ86XFk5/qGnq49gTUQln11JacYoMasVyz9Do Tkz4brFD6Py05tqwVS9qAaG7rI8WaPJS/IF+C30zWBdt/06voPivJlB+pq5XUXwuWgkZ2DupEOL kMt+JZjpQ1P5Drobwdde0q41RHUGwT6p5jf6CIJ/doNtd1JVq/Gzodu9OItOVVu7MKVrb5iL+Us S11AFNBArqruT88frO+vn4oOEdVMVKZOxFhenyjam89NGs/WU6UQ/wYz7BF90y1jnMwXXX6aoHS rC+rq93DEG8MZEiu9upaRQthfdRQ4ufxPnDJE8ui0oydKGmCZ1lfVWStxCrGkM= X-Authority-Info-Out: v=2.4 cv=Cu2ys34D c=1 sm=1 tr=0 ts=69df92c0 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=uh2sygq7LFHjsVUyvz4A:9 X-Proofpoint-GUID: _zBtD9wD8v6gs7VaIe4pV-ihNDJNy2fB 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.231; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259819616158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 73066581d4..6c39168b06 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -1993,6 +1993,9 @@ int whpx_vcpu_run(CPUState *cpu) =20 if (vcpu->exit_ctx.MsrAccess.MsrNumber =3D=3D MSR_IA32_APICBAS= E) { is_known_msr =3D 1; + if (val & MSR_IA32_APICBASE_RESERVED) { + x86_emul_raise_exception(&X86_CPU(cpu)->env, EXCP0D_GP= F, 0); + } if (!vcpu->exit_ctx.MsrAccess.AccessInfo.IsWrite) { /* Read path unreachable on Hyper-V */ abort(); --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259900; cv=none; d=zohomail.com; s=zohoarc; b=H3vRd8x36//eVPuUPYTwbP5QGY1m0SHGExuCvxU89FbJnSq2FIqzqSIGnSjWbgoO9yKRzSU6I8L0bFpGW2LpF2WmTBKv2da3w4uYuizmevrB1Ja7thcuRJuTJFuEyeWspJ5FEWaiM/pqJpxhurS6HAYJFHdhyuAY2HgCqCk86nQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259900; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aHWbpBbWHa1pDSLj1H1tPnDt0duRVaN6KSal90efVe4=; b=OW73bBR0yl4lJ7dkejbBomBEwO8hcnaBd0858DUsGBkSbueQMDkowU7suJz7+3nNpUdYW0NHr6U2tG9X7RLFxMh0YmVSrUDRK3bWNDznCqs3/YMvDEcKnOsqRPao0tP0SgATSeiCWurmxSWxfaR5GPJItta3MO9G5SR1evVs9MM= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259900241271.9314798879916; Wed, 15 Apr 2026 06:31:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JL-0007Fa-GV; Wed, 15 Apr 2026 09:29:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JJ-0007F0-Fe for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:41 -0400 Received: from pv-2002j-snip4-2.eps.apple.com ([57.103.64.143] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JI-00049h-4T for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:41 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 037E2180055A; Wed, 15 Apr 2026 13:29:37 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id A6DE41800547; Wed, 15 Apr 2026 13:29:36 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGl0fHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259779; x=1778851779; bh=aHWbpBbWHa1pDSLj1H1tPnDt0duRVaN6KSal90efVe4=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=gbXNdBDEy/BQ13OTONbZzNe385+K1nfInLssVEEtnBpp+vQRuKV7Cyq+IgYLJ7Bxh+7mWEa94kCIkK/3HU9Z54dAqLpY42PcQ2QpuXYKzwvgiAu13uzvspEFKD7mqJ2rwWc5GlrRRXXiZvpW3rRqPMzl+FLXztCT9ekIuOPxEYGm3mqOCx4dBNHkL1JLWjF/1/mboeqBl2otv7g1zIUT2WLKu4qqBYpcQ15ZG/eBpICWDhqVAXPEy+ayJlqOyFh+/eKA2Hk0Af3rTCZRLZosZ1wGYbJ+5dTOTFeW9oTI1wexAGXaBkVg0JbbR+7keC2t+fTKxJZpcukaMjtmOCZPbg== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 05/10] whpx: i386: ignore vpassist when kernel-irqchip=off Date: Wed, 15 Apr 2026 15:29:21 +0200 Message-ID: <20260415132926.58878-6-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Info-Out: v=2.4 cv=dYqNHHXe c=1 sm=1 tr=0 ts=69df92c2 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=HmN67jXOOwgiugJlUbgA:9 X-Proofpoint-GUID: r2tKh0qUNwGwnxgqaQnQazDxFa9XdKEW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX18OH1U5ezVmw 9EGm/77BOwNlTLFFAOG8kai34cMym0YBzSPYrl4FF6lAVfm/4F3t2OVsoKOHyLeh5EfseGG/2/7 7RESduYi7cWARHPVgoBsZixqwAeaMxizl3Y8trAuPOe0u4bOL6M+FAN63t2qurl0oBMQzHlLSrM rJ/gkHDiOxYLZcVVAdjBxU4GFIDe2A7KFJEdvmBsl65Sunvr/CDQonLdufNVeeRXjsNYDVaRfTj VNL008K3FF7/6ztprKNUSzjtnzWK9UYlYx4zO39TA/12PzKxwbZkWFYhyPv9Pfp6qEige+ErT7t nbdGNLY59a+jBfMXESrWhVB5z0BfZQjx2gwj3oknHESvChrtE0zbPEso6n33Mg= X-Proofpoint-ORIG-GUID: r2tKh0qUNwGwnxgqaQnQazDxFa9XdKEW 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.143; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259901883158500 Content-Type: text/plain; charset="utf-8" Linux tries to set vpassist even when none of the enlightenments using it are available. So ignore the page it sets. Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 6c39168b06..2e6679f40b 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -51,6 +51,7 @@ #define HYPERV_APIC_BUS_FREQUENCY (200000000ULL) /* for kernel-irqchip=3Doff */ #define HV_X64_MSR_APIC_FREQUENCY 0x40000023 +#define HV_X64_MSR_VP_ASSIST_PAGE 0x40000073 =20 static bool is_modern_os =3D true; =20 @@ -2033,6 +2034,18 @@ int whpx_vcpu_run(CPUState *cpu) } } } + + /* + * Linux tries to use it anyway even when not exposed.=20 + * Ignore the write as the VP assist page is not used. + */ + if (vcpu->exit_ctx.MsrAccess.MsrNumber =3D=3D HV_X64_MSR_VP_AS= SIST_PAGE + && vcpu->exit_ctx.MsrAccess.AccessInfo.IsWrite + && !whpx_irqchip_in_kernel() + && whpx->hyperv_enlightenments_enabled) { + is_known_msr =3D 1; + } + /* * For all unsupported MSR access we: * ignore writes --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259898; cv=none; d=zohomail.com; s=zohoarc; b=AFCVABFqyMFKVh0IIYLbl6JBwZiRp0bRD5vcZPT01FJF2ntHNc6QGoSoxFWSgojwqAT0zK8hE8gll6EDiyTIy/jdpAeGM/jzmiHpERqi9dOHxsMRH5yaf3XzlphCkg8ISwNgF4bni4vH/wo/RoLjYn1RQBV7WpXUQ0St24QVgAg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259898; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tT4F++bSuONbY+c7bgtCCb6QKbPZ19v7x1ehrozqyHo=; b=gCskHF16UYMe4JMZ3fJo9P190gflkTFMMdDIlEY1tQrIm30bJpovXFCMbXBMN1i0bDAfFiCGVi6OZl5/aO0wa3yUg72HavcrCr4oQiuBU663jfnh+Hoa2FTAq23fQA9klyuXFZItOl02yUXjgd/DRoKi7mIMI1gcn6UM2s2MJtg= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17762598976641011.1280749842177; Wed, 15 Apr 2026 06:31:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JL-0007Fb-SP; Wed, 15 Apr 2026 09:29:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JK-0007FA-Da for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:42 -0400 Received: from pv-2002d-snip4-11.eps.apple.com ([57.103.64.251] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JI-00049x-Th for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:42 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 4784B1800369; Wed, 15 Apr 2026 13:29:39 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 12818180055B; Wed, 15 Apr 2026 13:29:37 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGlwfHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259779; x=1778851779; bh=tT4F++bSuONbY+c7bgtCCb6QKbPZ19v7x1ehrozqyHo=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=Y7U+4IVHixrYeYYveyPtEMowRI3gmQ2zyjmhjmnL0mFmNrBq/qC6N8vX4mZGL2wKg7XFLNB845aqmN75EzMvlwY3zSrcnocBZ/lVEIpXr7uIrGCvvvP18gFE7r/41WRVWvDTDZ/BDxq4YlKnprOKOgvJ4UhGwGasYsz53A8mf/uRdFV0vb634LjHsfJFQiDcVLShMcXYXUqhoT6TsJh3W/6Rwwfvc2HCsXKXYsH/ecHvGvBrJXh5e25Ukx+ZNgDiHzt4ZLzezDBmcxQHD4pu4kAPO27RCEdGpuydyPTpNl0yXD9wMt5xGt18x8VRSYjsn6wWVl3FQZrAOG7Zu15G4A== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 06/10] target: i386: HLT type that ignores EFLAGS.IF Date: Wed, 15 Apr 2026 15:29:22 +0200 Message-ID: <20260415132926.58878-7-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfXwCOy40yz2aQL ZvMJCExfjG4RKvD2iHLpr1uf7jqivz5IFpx+RUo1scW+VhF/3fIVoB+Bs80Uw1zBYUjhlY8M14c aCbC6K9k1W6EUDR/EITjPAS38ielAfa08ix+mJVytPAwv5fd6NPCXg3UwHZ+zyCqOwgoCZSUJCU ttFw5L6NklRMNppVkMSeld34Vzc/Qo25D/XhtLPWBahXymUjYbf7lGfteL4wOSZThPhxr4e0COU T6EiZuhospCMD4EAeYUrE2OFxbHGQTZmntw24JzHGwdWq6Fng3UYwFy9XxQ1O7BrWEpWPejeOPf 59sPAgBSNhTS5gwqt7s/glvgxd9yqxc3o4BfTE/MvXTcJeq6wmTEe8HkkVzF0I= X-Authority-Info-Out: v=2.4 cv=YLySCBGx c=1 sm=1 tr=0 ts=69df92c3 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=ZtXhj7NgbhMgH__AbsQA:9 X-Proofpoint-GUID: XOMD4UC0heEHPymDJm3wBgmHRjSQEEo5 X-Proofpoint-ORIG-GUID: XOMD4UC0heEHPymDJm3wBgmHRjSQEEo5 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.251; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259899920158500 Content-Type: text/plain; charset="utf-8" The TLFS says: > A partition which possesses the AccessGuestIdleMsr privilege may trigger > entry into the virtual processor idle sleep state through a read to the > hypervisor-defined MSR HV_X64_MSR_GUEST_IDLE. The virtual processor will > be woken when an interrupt arrives, regardless of whether the interrupt > is enabled on the virtual processor or not. Meanwhile, Windows 24H2+ calls this MSR anyway without the privilege being = set. Add the infrastructure to support it on the generic QEMU side. Signed-off-by: Mohamed Mediouni --- target/i386/cpu.c | 10 ++++++---- target/i386/cpu.h | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 0000093fa3..b18e40666e 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -10482,13 +10482,15 @@ int x86_cpu_pending_interrupt(CPUState *cs, int i= nterrupt_request) (((env->hflags2 & HF2_VINTR_MASK) && (env->hflags2 & HF2_HIF_MASK)) || (!(env->hflags2 & HF2_VINTR_MASK) && - (env->eflags & IF_MASK && - !(env->hflags & HF_INHIBIT_IRQ_MASK))))) { + ((env->eflags & IF_MASK && + !(env->hflags & HF_INHIBIT_IRQ_MASK)) + || env->hflags2 & HF2_HYPERV_HLT_MASK)))) { return CPU_INTERRUPT_HARD; } else if (env->hflags2 & HF2_VGIF_MASK) { if((interrupt_request & CPU_INTERRUPT_VIRQ) && - (env->eflags & IF_MASK) && - !(env->hflags & HF_INHIBIT_IRQ_MASK)) { + ((env->eflags & IF_MASK && + !(env->hflags & HF_INHIBIT_IRQ_MASK)) + || env->hflags2 & HF2_HYPERV_HLT_MASK)) { return CPU_INTERRUPT_VIRQ; } } diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 0b539155c4..67f508dc10 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -225,6 +225,7 @@ typedef enum X86Seg { #define HF2_NPT_SHIFT 6 /* Nested Paging enabled */ #define HF2_IGNNE_SHIFT 7 /* Ignore CR0.NE=3D0 */ #define HF2_VGIF_SHIFT 8 /* Can take VIRQ*/ +#define HF2_HYPERV_HLT_SHIFT 9 /* Hyper-V HV_X64_MSR_GUEST_IDLE */ =20 #define HF2_GIF_MASK (1 << HF2_GIF_SHIFT) #define HF2_HIF_MASK (1 << HF2_HIF_SHIFT) @@ -235,6 +236,7 @@ typedef enum X86Seg { #define HF2_NPT_MASK (1 << HF2_NPT_SHIFT) #define HF2_IGNNE_MASK (1 << HF2_IGNNE_SHIFT) #define HF2_VGIF_MASK (1 << HF2_VGIF_SHIFT) +#define HF2_HYPERV_HLT_MASK (1 << HF2_HYPERV_HLT_SHIFT) =20 #define CR0_PE_SHIFT 0 #define CR0_MP_SHIFT 1 --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259897; cv=none; d=zohomail.com; s=zohoarc; b=HQk5unJqkkIS1zBmXhpmBJrNqrzfoxP1kcAGGm2Mc2KlZS1COYODOhrzfK0rFr5f16QQqyLRhHiZNxbq5XeAMloIlZ1FsDifryvhfbsuko40Jfa4Dvkovc1gLxFCPgznsTcb3RnpcoM2rFFKOpSezL9TyXcpAhlOZMjsK1ps5mM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259897; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NdNHW+HU7nWqdCiVuwZpuQ7yi7ZDV/6IOnp123UbLOQ=; b=YJSNXm9emACDo2sZB+jBnxKfXfkaNNnO5bFNKglbopZ3SdoKu1Zga1rhFiSeWXkli4R0u1S5umAoMWr1X/GcR0feXBbyBL8/aTsToJbV4ibfdiX/mYfI93R5arjqkyXZeiuGjqpNPJ1SkhDVX5uZcEFIu24VhCpX5TPdpXt5I1A= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259897039307.55807221358145; Wed, 15 Apr 2026 06:31:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JO-0007Hk-0W; Wed, 15 Apr 2026 09:29:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JM-0007Fz-HH for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:44 -0400 Received: from pv-2002c-snip4-11.eps.apple.com ([57.103.64.241] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JK-0004AE-Td for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:44 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id C41AE18000AA; Wed, 15 Apr 2026 13:29:40 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 721B3180034B; Wed, 15 Apr 2026 13:29:39 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGlMfHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259781; x=1778851781; bh=NdNHW+HU7nWqdCiVuwZpuQ7yi7ZDV/6IOnp123UbLOQ=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=byWOFmWKdpFZwrPvNbXBODDs5cBqtb1G9Hc2K9ndjzl0v/45H8eaQluoCqu+jnkfi+QodT8/ZMCY8RlucepTQaAqJ1a/ZuybjYCcA9PBGovY1StiZhFR4+26IKbdVIm2rY0cJNFYEutTbw+RVZaK8sKu9CigBrxT3Wx2WxNoXEo0tse2O6Rwym9H4m6ymK4pawjvvmMvEcICdv8dvXpxRjNVsRkXFTEiv/p6FA71vYFZonBhzjbPE6BKh2gp0YqxF0957O9caQGNKvE9ELih9WhoRqNwp9IGMJHahsEI0NtyOvWvvZ3qBzf0x62k0yVCJUzvKlJyfk/W4tp9cwmh4g== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 07/10] whpx: i386: add HV_X64_MSR_GUEST_IDLE when !kernel-irqchip Date: Wed, 15 Apr 2026 15:29:23 +0200 Message-ID: <20260415132926.58878-8-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: FbdWsunsJBF2P3nOeWjcK73nI0VSS4Rq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX6CPToTixMAlv WNndKgmKL6BgyR40FIrwzEc7iWmmCtgourLXOLjBE/DHAX2GcMnzODwjjsb9DXOrcpV6MBI9YPC r1lEiemVRByGWchK00NudttFM0OF9MM/ewxriwi1ZLlC/ZRoJ3ThfrYIOdOsDaZ0m010u85enlQ o7N+bahrqHeMP9HOhe2T7GiuNPdZD7h77/Nd95Lb2DLvjxWmEjZCXdnghsXGf4htT6TfR/ii3Yx C+8UjwdAPqAQFVtGhbzSdBd1WjLrFxR5Nnmh0+EA7myNnAzQWlqZm9JTI47eFOTIQWQ7iBLyj73 ROxw3hPB0ez29u4AKVmq/2aHKpQjf9BWQ1cADa4XeaYuqH6haHnporkyV+ELi4= X-Authority-Info-Out: v=2.4 cv=Cu2ys34D c=1 sm=1 tr=0 ts=69df92c4 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=mSEN7FZ2dYRJNo9PPvgA:9 X-Proofpoint-GUID: FbdWsunsJBF2P3nOeWjcK73nI0VSS4Rq 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.241; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259898237158500 Content-Type: text/plain; charset="utf-8" Add support for an oddball HV_X64_MSR_GUEST_IDLE not-quite-an-HLT that wakes the vCPU even if EFLAGS.IF is set. Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 46 ++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 2e6679f40b..0b89fe093f 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -52,6 +52,7 @@ /* for kernel-irqchip=3Doff */ #define HV_X64_MSR_APIC_FREQUENCY 0x40000023 #define HV_X64_MSR_VP_ASSIST_PAGE 0x40000073 +#define HV_X64_MSR_GUEST_IDLE 0x400000f0 =20 static bool is_modern_os =3D true; =20 @@ -1543,13 +1544,16 @@ static vaddr whpx_vcpu_get_pc(CPUState *cpu, bool e= xit_context_valid) } } =20 -static int whpx_handle_halt(CPUState *cpu) +static int whpx_handle_halt_generic(CPUState *cpu) { + X86CPU *x86_cpu =3D X86_CPU(cpu); + CPUX86State *env =3D &x86_cpu->env; + int ret =3D 0; =20 bql_lock(); if (!(cpu_test_interrupt(cpu, CPU_INTERRUPT_HARD) && - (cpu_env(cpu)->eflags & IF_MASK)) && + ((cpu_env(cpu)->eflags & IF_MASK) || env->hflags2 & HF2_HYPERV_H= LT_MASK)) && !cpu_test_interrupt(cpu, CPU_INTERRUPT_NMI)) { cpu->exception_index =3D EXCP_HLT; cpu->halted =3D true; @@ -1560,6 +1564,27 @@ static int whpx_handle_halt(CPUState *cpu) return ret; } =20 +static int whpx_handle_halt(CPUState *cpu) +{ + int ret =3D 0; + + ret =3D whpx_handle_halt_generic(cpu); + + return ret; +} + +static int whpx_handle_hyperv_guestidle(CPUState *cpu) +{ + X86CPU *x86_cpu =3D X86_CPU(cpu); + CPUX86State *env =3D &x86_cpu->env; + int ret =3D 0; + + env->hflags2 |=3D HF2_HYPERV_HLT_MASK; + ret =3D whpx_handle_halt_generic(cpu); + + return ret; +} + static void whpx_vcpu_kick_out_of_hlt(CPUState *cpu)=20 { WHV_REGISTER_VALUE reg; @@ -1763,9 +1788,10 @@ static void whpx_vcpu_process_async_events(CPUState = *cpu) } =20 if ((cpu_test_interrupt(cpu, CPU_INTERRUPT_HARD) && - (env->eflags & IF_MASK)) || + ((env->eflags & IF_MASK) || env->hflags2 & HF2_HYPERV_HLT_MASK)) = || cpu_test_interrupt(cpu, CPU_INTERRUPT_NMI)) { cpu->halted =3D false; + env->hflags2 &=3D ~HF2_HYPERV_HLT_MASK; } =20 if (cpu_test_interrupt(cpu, CPU_INTERRUPT_SIPI)) { @@ -2035,6 +2061,20 @@ int whpx_vcpu_run(CPUState *cpu) } } =20 + /* + * Windows and Linux both use this MSR. + * Windows 11 25H2 uses it even when not advertised. + */ + if (vcpu->exit_ctx.MsrAccess.MsrNumber =3D=3D HV_X64_MSR_GUEST= _IDLE + && !vcpu->exit_ctx.MsrAccess.AccessInfo.IsWrite + && !whpx_irqchip_in_kernel() + && whpx->hyperv_enlightenments_enabled) { + is_known_msr =3D 1; + whpx_bump_rip(cpu, &vcpu->exit_ctx); + ret =3D whpx_handle_hyperv_guestidle(cpu); + break; + } + /* * Linux tries to use it anyway even when not exposed.=20 * Ignore the write as the VP assist page is not used. --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259899; cv=none; d=zohomail.com; s=zohoarc; b=noaHkZ9I9k5Egg5HbaUAxYIeNqhLWfaDZeTB7+WLLykYfDwdbSCxLVwAW++P1QXRSNYpQrZG4wvBwuIEr55qyKhs0zRXpPm1WArlvY9Sv5uKH+4Xm5SB0Uj5h9p9RWEkGM/bRTuprXRXXgG0TEfqm6HpPkGa5VDSlJoSXsPnptc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259899; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kpBw22HzgNS+Vaq94Nw+0ZpPf3ziuI9cSWguL5NEX24=; b=YOIJEVgFWL6H0qSCvZL/UPiUF0lWkc4ddF5MmCEDZdDXfLtBeZBYF8KXT/FXeyWYfaNMmjQbglBLPe38QnFJCX9k3VfZbSsOvcZ8GMRmicb9EjIADogobvNBicLKdZA35hd4DJ5pZVYUtQSbSrSi+ZsAAX1dhkWG9U8MY9c4Tas= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259899031507.56245481002; Wed, 15 Apr 2026 06:31:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JO-0007Hm-LC; Wed, 15 Apr 2026 09:29:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JN-0007Hb-JT for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:45 -0400 Received: from pv-2002j-snip4-4.eps.apple.com ([57.103.64.145] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JM-0004Aj-3p for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:45 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 1F3201800353; Wed, 15 Apr 2026 13:29:42 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id D3BBF1800103; Wed, 15 Apr 2026 13:29:40 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGlIfHVYQUgBSD3IFVwhBCFMCUQRYGl8IGQ1AThkMSh1SVlEFSgxcAGgPXR1YEV0= Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259782; x=1778851782; bh=kpBw22HzgNS+Vaq94Nw+0ZpPf3ziuI9cSWguL5NEX24=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=L6s1f+SVPlhJOiit+OzKs2vDoMOmJSMcxISGANs6OvV5VWkRf/vCsEIe9vHr0CJjpURs/Idv25n9A6cW61vpf4DroBQJzJhECe/2qIwulNrPQIsluOi5wKE9rNNueK3VLdOyay427+L41LeYDAulHTrErdFGrHJRHHMAl5LLVAKb5fR4DmEB9s6hNaz2qxBWTFzeHUxKKgqeAn1Tgp8waQjECZfVwb7H3Rq1+vMIP/UTKJkZoS5Xjbv5qnojdP7liD7CtjzMVntUGGLAzP9ls5hrFKdNTMkEHtyeWHhbC4OfrJFfwnsY1QWKZCYmvb92jrBFGF3KIb95mqRKrve3DQ== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 08/10] whpx: i386: one more CPUID Date: Wed, 15 Apr 2026 15:29:24 +0200 Message-ID: <20260415132926.58878-9-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX3exoC3nWHdW+ NCNtVSdBc0rBJDXrOBwHs+OFvtvAGtV7IFxeoPEcQ6PKBYly+g3SJESR/VDYcC+cYoprEdItI8q Y5P4DGkBdixz+basmtFyU/cyf511SoDoJm6qhn1nGD5Wcth0/ME1ZzJ9Xp6DDKsclyAWHguDcyc SYKxu0Qe9D1v7urIuNsflYMiQ91Tb1sxolV7/Q5OL2gtD16ruS5v2HlofVxSGM9ooPL4XSHgrTj a9qud5wqmbDNR9f+Uu8NsF6LZ7TKpAMdY53uakNg/cRNWTzxvG7/2ysARAfBQ6kfDuJicssNYj7 nlJJrSPYyLZskbEDiuABbRCrUDF29QgSoYZfuQZHqI41KzTkWBwoCZ/8X75RL4= X-Proofpoint-ORIG-GUID: KVL-c25TH60ZT2-P4avGchm8j5J3bksE X-Authority-Info-Out: v=2.4 cv=d4/4CBjE c=1 sm=1 tr=0 ts=69df92c6 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=zJD0qBlfmizEQV4F3ZsA:9 X-Proofpoint-GUID: KVL-c25TH60ZT2-P4avGchm8j5J3bksE 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.145; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259900942154100 Content-Type: text/plain; charset="utf-8" Trap cpuid_0xb as it has x2APIC topology information. Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 0b89fe093f..9442c240b8 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2527,7 +2527,7 @@ int whpx_accel_init(AccelState *as, MachineState *ms) WHV_PROCESSOR_FEATURES_BANKS processor_features; WHV_PROCESSOR_PERFMON_FEATURES perfmon_features; =20 - UINT32 cpuidExitList[] =3D {0x0, 0x1, 0x6, 0x7, 0x14, 0x24, 0x29, 0x1E, + UINT32 cpuidExitList[] =3D {0x0, 0x1, 0x6, 0x7, 0xb, 0x14, 0x24, 0x29,= 0x1E, 0x40000000, 0x40000001, 0x40000010, 0x80000000, 0x80000001, 0x80000002, 0x80000003, 0x80000004, 0x80000007, 0x80000008, 0x8000000A, 0x80000021, 0x80000022, 0xC0000000, 0xC0000001}; --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259899; cv=none; d=zohomail.com; s=zohoarc; b=KGiMMCkMPlDV0/CiFXKXDt6zI/D0qrXTchpHSyrtAW9gF0G6x/LwvEbw986SwiWO2Y69MskfAkP6GUwRA0mxJM6T3gCZtjAISxa2QdczJWykE0srSlcMQBHYd/EA6TtzNyGuIwS9Yo2z16rp2c3J73L856RVoPCs6EBSUaWyFpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259899; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9xbxyGGfjNH/HWQDHlAQCg/qgFyvlvlu7VNj5bZOFog=; b=c4ten8LszAJzLqCw0YVeJP6s3tJhbBp2tLp5dA3FcNvSB+4k2NQSak5VXylF52WQJ2ac4VpNXe3GIrCa6SIQd79bp86oO100YNk73Rruet2mLzmHLePOocsBDomuCeYyGHtlHOovRo9Aiu2BNnoeqRXNnxigZaeqA0YgwiUYvoU= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259899216109.65811516038718; Wed, 15 Apr 2026 06:31:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0JQ-0007IA-2M; Wed, 15 Apr 2026 09:29:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JP-0007Hr-49 for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:47 -0400 Received: from pv-2002f-snip4-4.eps.apple.com ([57.103.64.225] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JN-0004B5-NY for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:46 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id 9E31518000BA; Wed, 15 Apr 2026 13:29:43 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id 426061800362; Wed, 15 Apr 2026 13:29:42 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGloCXVQXWwxaDlYwTBZDH1IPWxNNGVEBUkVUAgdYRxRHDg8TTAtHAlo0Vh9UGVoD Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259784; x=1778851784; bh=9xbxyGGfjNH/HWQDHlAQCg/qgFyvlvlu7VNj5bZOFog=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=YcabFpKCC+ajmEvqJpjjbCmMFHEdMy44d8hXMr/uQhisoThgdUV+Jhc/onoQvLP3LlimyQ9rrQQmdy9BGb+Cn/YCyvKEfR9RyKr+kGZYUuGo7qw3cyim2vKckt+qDvXX0LSou8aevNwXoueX8jg36/0GL7Zvc0+/wi5aF09hySiCuLP8/dzv7dSqr9kxgX5YpHGBmYgh+LynN8QmujOMpWDjSsbBWE0jMvhT3bzbPreHkQhDpCMNoVFCSoqmPxHy/910ENf1pHlLH2WeDMunfI4gC1mm8MSTa7nW2/Jfexpjv2ZpAg6bfEnxPmaGUQGxtL5H0AWlyqgXvnPkY3VYyA== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 09/10] whpx: i386: some x2APIC awareness Date: Wed, 15 Apr 2026 15:29:25 +0200 Message-ID: <20260415132926.58878-10-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: phjAUR7gjixZphf7-73Sn1SPhLrDNdQD X-Authority-Info-Out: v=2.4 cv=QsdTHFyd c=1 sm=1 tr=0 ts=69df92c7 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=IZZkQHPJHa8VUPCOrf4A:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfX57tFaMmCYQzt 0VN3WVyVpH+HEyxvSFxSfF1sA24zMtgwboS3Rx58/r6J3jyDfDDtv3IS2S2+QebHCPBwGcRSGzV mZP4yDp10LJ1c1HeDFQkUY08AbuunmTH75Jaw3A83kKqOCcYDMuFUWR8x+swGu4EzgjE4/rz3JS 1dJQOg4mJvk/meul9FnOxCm0EVUXbHN1cKA0b1JgXyBq6mMOg1We/fyFCDOhoEjOU5bILk7vMAA kL0WtNJxjzJh0j1iAM7IGWYGfrqDgKJ3guxB3V8a0Fol0KzcQ+QM5VxtXi7HPsJC/p2lz4BgTVS axSE/BUN8vfB8yeFcUregygUrlm6s9dQ4IAnH5tuhe3XZSX5ExiNgHkiOO9C/Q= X-Proofpoint-GUID: phjAUR7gjixZphf7-73Sn1SPhLrDNdQD 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.225; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259899888158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-apic.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/target/i386/whpx/whpx-apic.c b/target/i386/whpx/whpx-apic.c index 65629ca45f..cc272f82a5 100644 --- a/target/i386/whpx/whpx-apic.c +++ b/target/i386/whpx/whpx-apic.c @@ -33,7 +33,11 @@ static void whpx_put_apic_state(APICCommonState *s, int i; =20 memset(kapic, 0, sizeof(*kapic)); - kapic->fields[0x2].data =3D s->id << 24; + if (s->apicbase & MSR_IA32_APICBASE_EXTD) { + kapic->fields[0x2].data =3D s->initial_apic_id; + } else { + kapic->fields[0x2].data =3D s->id << 24; + } kapic->fields[0x3].data =3D s->version | ((APIC_LVT_NB - 1) << 16); kapic->fields[0x8].data =3D s->tpr; kapic->fields[0xd].data =3D s->log_dest << 24; @@ -61,7 +65,11 @@ static void whpx_get_apic_state(APICCommonState *s, { int i, v; =20 - s->id =3D kapic->fields[0x2].data >> 24; + if (s->apicbase & MSR_IA32_APICBASE_EXTD) { + assert(kapic->fields[0x2].data =3D=3D s->initial_apic_id); + } else { + s->id =3D kapic->fields[0x2].data >> 24; + } s->tpr =3D kapic->fields[0x8].data; s->arb_id =3D kapic->fields[0x9].data; s->log_dest =3D kapic->fields[0xd].data >> 24; --=20 2.50.1 (Apple Git-155) From nobody Thu Apr 30 00:40:44 2026 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; dmarc=pass(p=reject dis=none) header.from=unpredictable.fr ARC-Seal: i=1; a=rsa-sha256; t=1776259831; cv=none; d=zohomail.com; s=zohoarc; b=Zbj1lLsT0S9iGgXEeE4L6CFZC5Ls/qZY1OQJ+7kYaKBz+bhpw1JOmJdYVfECBgY/+x5nnPP4AT7LXQLxhqADaoSMTTmrmbcORTVlTHRftQcDVKUxhu0AmcjUEy7ArLWZ7dQ5yCjwZI2WfJ/TyNTCsk+Wdg1CbYFbIrgt3zb+jdo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776259831; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=F81UdZQWjj8nDESDY+/oOdQdqEVHjVU39h+0Q6TTuPw=; b=L3RMjiW1s0SFdimupykJyPIMwlz/hhdNQVXR/MVavsv2QSHa7/+Y59Y28GpU4QPCltUVWdaFMESSALOx/6u0UFMu/99LHTnlGu0yKM9A0pYeBmXzdAKkLWgqnXbqIcrVi7FGHXYm1ypuxJKdEg3Z1gX6YuEbp+CjkUAs54dD1LY= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776259831869990.9548281853481; Wed, 15 Apr 2026 06:30:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD0Ja-0007Iu-I5; Wed, 15 Apr 2026 09:29:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JU-0007IY-C8 for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:52 -0400 Received: from pv-2002h-snip4-11.eps.apple.com ([57.103.64.211] helo=outbound.pv.icloud.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wD0JP-0004BX-2t for qemu-devel@nongnu.org; Wed, 15 Apr 2026 09:29:51 -0400 Received: from outbound.pv.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPS id EBF591800110; Wed, 15 Apr 2026 13:29:44 +0000 (UTC) Received: from localhost.localdomain (unknown [17.56.9.36]) by p00-icloudmta-asmtp-us-west-1a-100-percent-11 (Postfix) with ESMTPSA id A30151800551; Wed, 15 Apr 2026 13:29:43 +0000 (UTC) X-ICL-Out-Info: HUtFAUMHWwJACUgDTUQeDx5WFlZNRAJCTQFIHV8DWRxBAUkdXw9LVxQEFVwFVgZXFHkNXR1FDlYZWgxSD1sOHBZLWFUJCgZdGFgVVgl3HlwASx1XBFQfUxJVHR0LRUtAEwRNEwVSB11NVg1HD1geXBQXCEVDXgheH0wcHQ5YBhIATQoONgZZBV4JVgNDBTYSFF1FRgNHGVcUUBtHDFUHV15fChMAXg8PTAtIAVsHXwNFCEsBVAVdHEUBQARVGloDXVQXWwxaDlYwTBZDH1IPWxNNGVEBUkVUAgdYRxRHDg8TTAtHAlo0Vh9UGVoD Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; t=1776259785; x=1778851785; bh=F81UdZQWjj8nDESDY+/oOdQdqEVHjVU39h+0Q6TTuPw=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=R35vGqGbKtL41YvhaQEv5o3KS1lsMnYJa58KhfsQZp8f2zkBBd3plh3sZzFuf5O5BS4EfW+wBpA8B76RJYEJ4KmvYwvcQDlORmjOLIyjusMfP7H+2vOwmer8XO+TcBnOBVjJzOfqoth5YRkLhkd19N0cpkpvVs2xtnyi9FxwNl3veVSVgkWMhCuChkrO+AEHv+I1m82isbmJxh6DLKI4jxJyC6Ap665QeknEe6Y6g6VyOiVN7XZQdj1C6b64yNwRPeIGYvO6/mG23+ydaNW4qh3a78OVXlRdq7ZGUZ2DM84toXD9mYMJ3U8xVRMct1LnbXbBL7HxzSQbE+02YkrIEQ== mail-alias-created-date: 1752046281608 From: Mohamed Mediouni To: qemu-devel@nongnu.org Cc: Mohamed Mediouni , Zhao Liu , Paolo Bonzini , Pedro Barbuda Subject: [PATCH v2 10/10] whpx: i386: set WHvX64RegisterInitialApicId Date: Wed, 15 Apr 2026 15:29:26 +0200 Message-ID: <20260415132926.58878-11-mohamed@unpredictable.fr> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260415132926.58878-1-mohamed@unpredictable.fr> References: <20260415132926.58878-1-mohamed@unpredictable.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: yCr-saWD2LhDN74YXwqO_l61eqwGHhq- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDEyNSBTYWx0ZWRfXxRreJfa3vgtp LMKlYrQ6NnjmEeRK2f91uDTp8Q6kkt2h8GN3gJfn/tPDsn3rwv2G1dylgUgLPlmgOPsQqY7FE3/ hwCFzCke0Kk9kUlexz7CLuxz8jH93MI8ZhMMPwYnK+ldlwLbG8Ev8tAARxO32lbW58ligGT5wWq mLi0mPO/P2lJkpZVud5rOh5Si+aDpy0vbWoz7zXqvlihf/Fci+Rhi2clsBZfiNnMgPWrhRbcEI8 934QoBvgg0Q6TmEPQAjpXXQSSgUsPr3Rg6dqdviMMivUc5jDU12ADzLUC2KY7FPjGbRA0aKTVD+ TaRiYVa5BVqVpZteFfNOB5RMrDMM5QvXM07RfXgwDYaqexIxnQZbVQrah+FHlI= X-Proofpoint-GUID: yCr-saWD2LhDN74YXwqO_l61eqwGHhq- X-Authority-Info-Out: v=2.4 cv=DohbOW/+ c=1 sm=1 tr=0 ts=69df92c9 cx=c_apl:c_pps:t_out a=azHRBMxVc17uSn+fyuI/eg==:117 a=azHRBMxVc17uSn+fyuI/eg==:17 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=DsSKBDvzyVHF_5agjq4A:9 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=lists1p.gnu.org; Received-SPF: pass client-ip=57.103.64.211; envelope-from=mohamed@unpredictable.fr; helo=outbound.pv.icloud.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @unpredictable.fr) X-ZM-MESSAGEID: 1776259834026154100 Content-Type: text/plain; charset="utf-8" Keep Hyper-V aware of the initial APIC ID chosen. Signed-off-by: Mohamed Mediouni --- target/i386/whpx/whpx-all.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 9442c240b8..62fb9b5fc1 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -2398,6 +2398,11 @@ int whpx_init_vcpu(CPUState *cpu) goto error; } =20 + if (!whpx_irqchip_in_kernel()) { + WHV_REGISTER_VALUE apic_id =3D {.Reg64 =3D x86_cpu->apic_state->in= itial_apic_id}; + whpx_set_reg(cpu, WHvX64RegisterInitialApicId, apic_id); + } + /* * vcpu's TSC frequency is either specified by user, or use the value * provided by Hyper-V if the former is not present. In the latter cas= e, we --=20 2.50.1 (Apple Git-155)