[RFC PATCH 2/9] x86/mm: Introduce Remote Action Request MSRs

Rik van Riel
2025-05-06T00:48:57Z

From: Yu-cheng Yu <yu-cheng.yu@intel.com>

Remote Action Request (RAR) is a TLB flushing broadcast facility.
This patch introduces RAR MSRs. RAR is introduced in later patches.

There are five RAR MSRs:

MSR_CORE_CAPABILITIES
MSR_IA32_RAR_CTRL
MSR_IA32_RAR_ACT_VEC
MSR_IA32_RAR_PAYLOAD_BASE
MSR_IA32_RAR_INFO

Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com>
Signed-off-by: Rik van Riel <riel@surriel.com>
---
arch/x86/include/asm/msr-index.h | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index 0828b891fe2e..923e17462712 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -122,6 +122,17 @@
#define SNB_C3_AUTO_UNDEMOTE (1UL << 27)
#define SNB_C1_AUTO_UNDEMOTE (1UL << 28)

+/*
+ * Remote Action Requests (RAR) MSRs
+ */
+#define MSR_IA32_RAR_CTRL 0x000000ed
+#define MSR_IA32_RAR_ACT_VEC 0x000000ee
+#define MSR_IA32_RAR_PAYLOAD_BASE 0x000000ef
+#define MSR_IA32_RAR_INFO 0x000000f0
+
+#define RAR_CTRL_ENABLE BIT(31)
+#define RAR_CTRL_IGNORE_IF BIT(30)
+
#define MSR_MTRRcap 0x000000fe

#define MSR_IA32_ARCH_CAPABILITIES 0x0000010a
--
2.49.0