On 14.09.23 г. 7:47 ч., Xin Li wrote:
From: "H. Peter Anvin (Intel)" <h...@zytor.com>

Add CONFIG_X86_FRED to <asm/disabled-features.h> to make
cpu_feature_enabled() work correctly with FRED.

Originally-by: Megha Dey <megha....@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <h...@zytor.com>
Tested-by: Shan Kang <shan.k...@intel.com>
Signed-off-by: Xin Li <xin3...@intel.com>
---
  arch/x86/include/asm/disabled-features.h       | 8 +++++++-
  tools/arch/x86/include/asm/disabled-features.h | 8 +++++++-
  2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/disabled-features.h 
b/arch/x86/include/asm/disabled-features.h
index 702d93fdd10e..3cde57cb5093 100644
--- a/arch/x86/include/asm/disabled-features.h
+++ b/arch/x86/include/asm/disabled-features.h
@@ -117,6 +117,12 @@
  #define DISABLE_IBT   (1 << (X86_FEATURE_IBT & 31))
  #endif
+#ifdef CONFIG_X86_FRED
+# define DISABLE_FRED  0
+#else
+# define DISABLE_FRED  (1 << (X86_FEATURE_FRED & 31))
+#endif
+
  /*
   * Make sure to add features to the correct mask
   */
@@ -134,7 +140,7 @@
  #define DISABLED_MASK11       
(DISABLE_RETPOLINE|DISABLE_RETHUNK|DISABLE_UNRET| \
                         DISABLE_CALL_DEPTH_TRACKING|DISABLE_USER_SHSTK)
  #define DISABLED_MASK12       (DISABLE_LAM)
-#define DISABLED_MASK13        0
+#define DISABLED_MASK13        (DISABLE_FRED)
  #define DISABLED_MASK14       0
  #define DISABLED_MASK15       0
  #define DISABLED_MASK16       
(DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP| \
diff --git a/tools/arch/x86/include/asm/disabled-features.h 
b/tools/arch/x86/include/asm/disabled-features.h
index fafe9be7a6f4..d540ecdd8812 100644
--- a/tools/arch/x86/include/asm/disabled-features.h
+++ b/tools/arch/x86/include/asm/disabled-features.h
@@ -105,6 +105,12 @@
  # define DISABLE_TDX_GUEST    (1 << (X86_FEATURE_TDX_GUEST & 31))
  #endif
+#ifdef CONFIG_X86_FRED
+# define DISABLE_FRED  0
+#else
+# define DISABLE_FRED  (1 << (X86_FEATURE_FRED & 31))
+#endif
+
  /*
   * Make sure to add features to the correct mask
   */
@@ -122,7 +128,7 @@
  #define DISABLED_MASK11       
(DISABLE_RETPOLINE|DISABLE_RETHUNK|DISABLE_UNRET| \
                         DISABLE_CALL_DEPTH_TRACKING)
  #define DISABLED_MASK12       (DISABLE_LAM)
-#define DISABLED_MASK13        0
+#define DISABLED_MASK13        (DISABLE_FRED)

FRED feature is defined in cpuid word 12, not 13

  #define DISABLED_MASK14       0
  #define DISABLED_MASK15       0
  #define DISABLED_MASK16       
(DISABLE_PKU|DISABLE_OSPKE|DISABLE_LA57|DISABLE_UMIP| \

Reply via email to