Module Name:    src
Committed By:   dsl
Date:           Tue Feb 25 22:11:11 UTC 2014

Modified Files:
        src/sys/arch/x86/include: specialreg.h

Log Message:
Add the XCR bits for snazzy upcoming features.
Define a mask for the fpu releated ones - only these wll be enabled.
The memory bound ones will need saving on every context switch.


To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.78 src/sys/arch/x86/include/specialreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/x86/include/specialreg.h
diff -u src/sys/arch/x86/include/specialreg.h:1.77 src/sys/arch/x86/include/specialreg.h:1.78
--- src/sys/arch/x86/include/specialreg.h:1.77	Sat Jan  4 21:09:39 2014
+++ src/sys/arch/x86/include/specialreg.h	Tue Feb 25 22:11:11 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: specialreg.h,v 1.77 2014/01/04 21:09:39 msaitoh Exp $	*/
+/*	$NetBSD: specialreg.h,v 1.78 2014/02/25 22:11:11 dsl Exp $	*/
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -93,10 +93,28 @@
  */
 #define	XCR0_X87	0x00000001	/* x87 FPU/MMX state */
 #define	XCR0_SSE	0x00000002	/* SSE state */
-#define	XCR0_AVX	0x00000004	/* AVX state (ymmn registers) */
+#define	XCR0_YMM_Hi128	0x00000004	/* AVX-256 (ymmn registers) */
+#define	XCR0_BNDREGS	0x00000008	/* Memory protection ext bounds */
+#define	XCR0_BNDCSR	0x00000010	/* Memory protection ext state */
+#define	XCR0_Opmask	0x00000020	/* AVX-512 Opmask */
+#define	XCR0_ZMM_Hi256	0x00000040	/* AVX-512 upper 256 bits low regs */
+#define	XCR0_Hi16_ZMM	0x00000080	/* AVX-512 512 bits upper registers */
+
+/*
+ * Known fpu bits - only these get enabled
+ * I think the XCR0_BNDREGS and XCR0_BNDCSR would need saving on
+ * every context switch.
+ * The save are is sized for all the fields below (max 2680 bytes).
+ */
+#define XCR0_FPU	(XCR0_X87 | XCR0_SSE | XCR0_YMM_Hi128 | \
+			XCR0_Opmask | XCR0_ZMM_Hi256 | XCR0_Hi16_ZMM)
+
+#define XCR0_BND	(XCR0_BNDREGS | XCR0_BNDCSR)
 
 #define XCR0_FLAGS1	"\20" \
-	"\1" "x87"	"\2" "SSE"	"\3" "AVX"	"\4" "B03"
+	"\1" "x87"	"\2" "SSE"	"\3" "AVX" \
+	"\4" "BNDREGS"	"\5" "BNDCSR" \
+	"\6" "Opmask"	"\7" "ZMM_Hi256" "\10" "Hi16_ZMM"
 
 
 /*

Reply via email to