[PATCH 02/11] x86, fpu: rename xfeature_bit

From: Dave Hansen
Date: Thu Aug 27 2015 - 13:13:48 EST



From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>

The 'xfeature_bit's are at best xfeature bit _numbers_. Calling
them bits is at best inconsistent with ending the enum list with
'XFEATURES_NR_MAX'.

This patch renames the enum to be 'xfeature_nr'. These also
happen to be what the Intel documentation calls a "state
component".

We also want to differentiate these from the "XSTATE_*" macros.
The "XSTATE_*" macros are a mask, and should probably be
renamed, but that's another patch.

Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: x86@xxxxxxxxxx
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
---

b/arch/x86/include/asm/fpu/types.h | 38 ++++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 17 deletions(-)

diff -puN arch/x86/include/asm/fpu/types.h~x86-fpu-rename-xfeature_bit arch/x86/include/asm/fpu/types.h
--- a/arch/x86/include/asm/fpu/types.h~x86-fpu-rename-xfeature_bit 2015-08-27 10:08:01.569634174 -0700
+++ b/arch/x86/include/asm/fpu/types.h 2015-08-27 10:08:01.572634311 -0700
@@ -95,27 +95,31 @@ struct swregs_state {
/*
* List of XSAVE features Linux knows about:
*/
-enum xfeature_bit {
- XSTATE_BIT_FP,
- XSTATE_BIT_SSE,
- XSTATE_BIT_YMM,
- XSTATE_BIT_BNDREGS,
- XSTATE_BIT_BNDCSR,
- XSTATE_BIT_OPMASK,
- XSTATE_BIT_ZMM_Hi256,
- XSTATE_BIT_Hi16_ZMM,
+enum xfeature_nr {
+ XFEATURE_NR_FP,
+ XFEATURE_NR_SSE,
+ /*
+ * Values above here are "legacy states".
+ * Those below are "extended states".
+ */
+ XFEATURE_NR_YMM,
+ XFEATURE_NR_BNDREGS,
+ XFEATURE_NR_BNDCSR,
+ XFEATURE_NR_OPMASK,
+ XFEATURE_NR_ZMM_Hi256,
+ XFEATURE_NR_Hi16_ZMM,

XFEATURES_NR_MAX,
};

-#define XSTATE_FP (1 << XSTATE_BIT_FP)
-#define XSTATE_SSE (1 << XSTATE_BIT_SSE)
-#define XSTATE_YMM (1 << XSTATE_BIT_YMM)
-#define XSTATE_BNDREGS (1 << XSTATE_BIT_BNDREGS)
-#define XSTATE_BNDCSR (1 << XSTATE_BIT_BNDCSR)
-#define XSTATE_OPMASK (1 << XSTATE_BIT_OPMASK)
-#define XSTATE_ZMM_Hi256 (1 << XSTATE_BIT_ZMM_Hi256)
-#define XSTATE_Hi16_ZMM (1 << XSTATE_BIT_Hi16_ZMM)
+#define XSTATE_FP (1 << XFEATURE_NR_FP)
+#define XSTATE_SSE (1 << XFEATURE_NR_SSE)
+#define XSTATE_YMM (1 << XFEATURE_NR_YMM)
+#define XSTATE_BNDREGS (1 << XFEATURE_NR_BNDREGS)
+#define XSTATE_BNDCSR (1 << XFEATURE_NR_BNDCSR)
+#define XSTATE_OPMASK (1 << XFEATURE_NR_OPMASK)
+#define XSTATE_ZMM_Hi256 (1 << XFEATURE_NR_ZMM_Hi256)
+#define XSTATE_Hi16_ZMM (1 << XFEATURE_NR_Hi16_ZMM)

#define XSTATE_FPSSE (XSTATE_FP | XSTATE_SSE)
#define XSTATE_AVX512 (XSTATE_OPMASK | XSTATE_ZMM_Hi256 | XSTATE_Hi16_ZMM)
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/