[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 03/28] x86/hvm: report SVM x2AVIC support
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: dmukhin@xxxxxxxx
- Date: Wed, 4 Nov 2026 17:33:20 -0800
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=ford.com; dkim=pass (signature was verified) header.d=saarlouis.ford.com; dkim=pass (signature was verified) header.d=ford.com; arc=none (0)
- 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=aR9l/0zpCxaOUzt7iatNB4TFWCmkHiKvjdLyt05m9Ps=; b=uHA1OmQsmc9qWf7ONGkpCw9XDKsa3ZrD/xXh837XZu2xJ+fdwKyuc+i3SoPN2Q0CbA+SkoYndMLGZ6CY3XG0idv3WEx1jYkjE4dglZ/CYvq6Qzet2UV50Jg0j+/ZDAAPc7fB14goe7cBAdcuGWjDIzVqrf6FBQaJtPFMSxeczwkYVT045uLAnGWjOPnYYJrHuYGIdrRRx96vxOGRsiDvPjqh02K/Q/EMoH8FgJBz62OqM+7f1jyYnaFU3Lg07NLzlB0nc4ys75hXLgjrz/kqXZU9O+eRsMnkCejwAqLXfE8HxNo6/F9iwhTZchYqfqNI6nG+qw451XMTHzQEhOPELA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yuQv8Aqh14BtRnI6aqpiIwOOM+w4VGitEn7Xxb8+WgL2DsB8n6w+kZUvCnSYyoIh6iwgtIuzTTmdzlM0TowS8fHt08eq+EhlM6hQkSYml4dS95UIQvWXm/YvFRZ+06AZnkzvpJidjvV9zb2VFPQG4zS7071XBpvFuZ/YLc1pzIZPS/TdJyfSfDCSdAAj/mac7Q9taoMPCe6x8czxZq2ZQCxjOVy+6kCwu6HLgPyTjDCpn42VVpRi4R/Jw2z3R8rArENdluXOyWJO1i5mJTYHArs0hvncjkmKpASp9/Z12VKxSzllLY+QEVKdYmpduAh4pxQTrZnPbR+J48u9Ha9t4A==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
- Cc: andrew.cooper3@xxxxxxxxxx, jason.andryuk@xxxxxxx, jbeulich@xxxxxxxx, roger@xxxxxxxxxxxxxx, teddy.astie@xxxxxxxxxx, dmukhin@xxxxxxx, Denis Mukhin <dmukhin@xxxxxxxx>
- Delivery-date: Thu, 05 Nov 2026 01:34:32 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Pser-m365-app: SER-APP
From: Denis Mukhin <dmukhin@xxxxxxxx>
Report SVM AVIC support from CPUID Fn8000000A_EDX[X2AVIC](bit 18).
Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
---
xen/arch/x86/hvm/svm/svm.c | 1 +
xen/arch/x86/include/asm/hvm/svm.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index cf008a8acdf2..db81dad4b681 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2457,6 +2457,7 @@ static void __init print_svm_features(void)
P(cpu_has_svm_vnmi, "Virtual NMI");
P(cpu_has_svm_bus_lock, "Bus Lock Filter");
P(cpu_has_svm_avic, "Advanced Virtual Interrupt Controller");
+ P(cpu_has_svm_x2avic, "x2 Advanced Virtual Interrupt Controller");
#undef P
if ( !printed )
diff --git a/xen/arch/x86/include/asm/hvm/svm.h
b/xen/arch/x86/include/asm/hvm/svm.h
index 0fc33f41b09d..292a9ee19b11 100644
--- a/xen/arch/x86/include/asm/hvm/svm.h
+++ b/xen/arch/x86/include/asm/hvm/svm.h
@@ -36,6 +36,7 @@ extern u32 svm_feature_flags;
#define SVM_FEATURE_AVIC 13 /* Advanced Virtual Interrupt Controller
*/
#define SVM_FEATURE_VLOADSAVE 15 /* virtual vmload/vmsave */
#define SVM_FEATURE_VGIF 16 /* Virtual GIF */
+#define SVM_FEATURE_X2AVIC 18 /* x2 Advanced Virtual Interrupt
Controller */
#define SVM_FEATURE_SSS 19 /* NPT Supervisor Shadow Stacks */
#define SVM_FEATURE_SPEC_CTRL 20 /* MSR_SPEC_CTRL virtualisation */
#define SVM_FEATURE_VNMI 25 /* Virtual NMI */
@@ -57,6 +58,7 @@ static inline bool cpu_has_svm_feature(unsigned int feat)
#define cpu_has_pause_thresh cpu_has_svm_feature(SVM_FEATURE_PAUSETHRESH)
#define cpu_has_tsc_ratio cpu_has_svm_feature(SVM_FEATURE_TSCRATEMSR)
#define cpu_has_svm_avic cpu_has_svm_feature(SVM_FEATURE_AVIC)
+#define cpu_has_svm_x2avic cpu_has_svm_feature(SVM_FEATURE_X2AVIC)
#define cpu_has_svm_vloadsave cpu_has_svm_feature(SVM_FEATURE_VLOADSAVE)
#define cpu_has_svm_sss cpu_has_svm_feature(SVM_FEATURE_SSS)
#define cpu_has_svm_spec_ctrl cpu_has_svm_feature(SVM_FEATURE_SPEC_CTRL)
--
2.55.0
|