#define CPUID_FIELD_DATA_LEVEL_7 \
FLAG( 7, 0, EBX, 0, 1, FSGSBASE, YES, 9 ) \
FLAG( 7, 0, EBX, 1, 1, TSC_ADJUST, ANY, 11 ) \
-FLAG( 7, 0, EBX, 2, 1, SGX, YES, FUT ) \
+FLAG( 7, 0, EBX, 2, 1, SGX, YES, 17 ) \
FLAG( 7, 0, EBX, 3, 1, BMI1, YES, 9 ) \
FLAG( 7, 0, EBX, 4, 1, HLE, YES, 11 ) \
FLAG( 7, 0, EBX, 5, 1, AVX2, YES, 11 ) \
FLAG( 7, 0, EBX, 18, 1, RDSEED, YES, 11 ) \
FLAG( 7, 0, EBX, 19, 1, ADX, YES, 11 ) \
FLAG( 7, 0, EBX, 20, 1, SMAP, YES, 11 ) \
-FLAG( 7, 0, EBX, 21, 1, AVX512IFMA, YES, FUT ) \
+FLAG( 7, 0, EBX, 21, 1, AVX512IFMA, YES, 17 ) \
FLAG( 7, 0, EBX, 23, 1, CLFLUSHOPT, YES, 13 ) \
FLAG( 7, 0, EBX, 24, 1, CLWB, YES, 13 ) \
FLAG( 7, 0, EBX, 25, 1, PT, YES, FUT ) \
FLAG( 7, 0, EBX, 30, 1, AVX512BW, YES, 13 ) \
FLAG( 7, 0, EBX, 31, 1, AVX512VL, YES, 13 ) \
FLAG( 7, 0, ECX, 0, 1, PREFETCHWT1, YES, 13 ) \
-FLAG( 7, 0, ECX, 1, 1, AVX512VBMI, YES, FUT ) \
-FLAG( 7, 0, ECX, 2, 1, UMIP, YES, FUT ) \
+FLAG( 7, 0, ECX, 1, 1, AVX512VBMI, YES, 17 ) \
+FLAG( 7, 0, ECX, 2, 1, UMIP, YES, 17 ) \
FLAG( 7, 0, ECX, 3, 1, PKU, YES, 13 ) \
FLAG( 7, 0, ECX, 4, 1, OSPKE, ANY, 13 ) \
FLAG( 7, 0, ECX, 5, 1, WAITPKG, NO, 0 ) \
-FLAG( 7, 0, ECX, 6, 1, AVX512VBMI2, YES, FUT ) \
-FLAG( 7, 0, ECX, 8, 1, GFNI, YES, FUT ) \
-FLAG( 7, 0, ECX, 9, 1, VAES, YES, FUT ) \
-FLAG( 7, 0, ECX, 10, 1, VPCLMULQDQ, YES, FUT ) \
-FLAG( 7, 0, ECX, 11, 1, AVX512VNNI, YES, FUT ) \
-FLAG( 7, 0, ECX, 12, 1, AVX512BITALG, YES, FUT ) \
+FLAG( 7, 0, ECX, 6, 1, AVX512VBMI2, YES, 17 ) \
+FLAG( 7, 0, ECX, 8, 1, GFNI, YES, 17 ) \
+FLAG( 7, 0, ECX, 9, 1, VAES, YES, 17 ) \
+FLAG( 7, 0, ECX, 10, 1, VPCLMULQDQ, YES, 17 ) \
+FLAG( 7, 0, ECX, 11, 1, AVX512VNNI, YES, 17 ) \
+FLAG( 7, 0, ECX, 12, 1, AVX512BITALG, YES, 17 ) \
FLAG( 7, 0, ECX, 14, 1, AVX512VPOPCNTDQ, YES, 16 ) \
FLAG( 7, 0, ECX, 16, 1, VA57, NO, 0 ) \
FIELD( 7, 0, ECX, 17, 5, MAWA, NO, 0 ) \
-FLAG( 7, 0, ECX, 22, 1, RDPID, YES, FUT ) \
+FLAG( 7, 0, ECX, 22, 1, RDPID, YES, 17 ) \
FLAG( 7, 0, ECX, 25, 1, CLDEMOTE, NO, 0 ) \
FLAG( 7, 0, ECX, 27, 1, MOVDIRI, NO, 0 ) \
FLAG( 7, 0, ECX, 28, 1, MOVDIR64B, NO, 0 ) \
-FLAG( 7, 0, ECX, 30, 1, SGX_LC, YES, FUT ) \
+FLAG( 7, 0, ECX, 30, 1, SGX_LC, YES, 17 ) \
FLAG( 7, 0, EDX, 2, 1, AVX512QVNNIW, YES, 16 ) \
FLAG( 7, 0, EDX, 3, 1, AVX512QFMAPS, YES, 16 ) \
FLAG( 7, 0, EDX, 4, 1, FAST_SHORT_REPMOV, NO, 0 ) \
FLAG( D, 0, EDX, 31, 1, XCR0_MASTER_EXTENDED_XSAVE, NO, 0 ) \
FLAG( D, 1, EAX, 0, 1, XSAVEOPT, YES, 11 ) \
FLAG( D, 1, EAX, 1, 1, XSAVEC, YES, 13 ) \
-FLAG( D, 1, EAX, 2, 1, XGETBV_ECX1, YES, FUT ) \
+FLAG( D, 1, EAX, 2, 1, XGETBV_ECX1, YES, 17 ) \
FLAG( D, 1, EAX, 3, 1, XSAVES, YES, 13 ) \
FIELD( D, 1, EBX, 0, 32, XSAVES_ENABLED_SIZE, ANY, 13 ) \
FIELD( D, 1, ECX, 0, 7, XSS_XCR0_USED0, NO, 0 ) \
/* LEVEL, SUB-LEVEL, REG, POS, SIZE, NAME, MON SUPP, HWV */
#define CPUID_FIELD_DATA_LEVEL_12 \
-FLAG( 12, 0, EAX, 0, 1, SGX1, YES, FUT ) \
+FLAG( 12, 0, EAX, 0, 1, SGX1, YES, 17 ) \
FLAG( 12, 0, EAX, 1, 1, SGX2, YES, FUT ) \
FLAG( 12, 0, EAX, 5, 1, SGX_OVERSUB_ENCLV, YES, FUT ) \
FLAG( 12, 0, EAX, 6, 1, SGX_OVERSUB_ENCLS, YES, FUT ) \
FLAG( 12, 0, EBX, 0, 1, SGX_MISCSELECT_EXINFO, YES, FUT ) \
FIELD( 12, 0, EBX, 1, 31, SGX_MISCSELECT_RSVD, NO, 0 ) \
-FIELD( 12, 0, EDX, 0, 8, MAX_ENCLAVE_SIZE_NOT64, YES, FUT ) \
-FIELD( 12, 0, EDX, 8, 8, MAX_ENCLAVE_SIZE_64, YES, FUT ) \
-FIELD( 12, 1, EAX, 0, 32, SECS_ATTRIBUTES0, YES, FUT ) \
-FIELD( 12, 1, EBX, 0, 32, SECS_ATTRIBUTES1, YES, FUT ) \
-FIELD( 12, 1, ECX, 0, 32, SECS_ATTRIBUTES2, YES, FUT ) \
-FIELD( 12, 1, EDX, 0, 32, SECS_ATTRIBUTES3, YES, FUT ) \
-FIELD( 12, 2, EAX, 0, 15, EPC00_VALID, YES, FUT ) \
-FIELD( 12, 2, EAX, 12, 20, EPC00_BASE_LOW, YES, FUT ) \
-FIELD( 12, 2, EBX, 0, 20, EPC00_BASE_HIGH, YES, FUT ) \
-FIELD( 12, 2, ECX, 0, 15, EPC00_PROTECTED, YES, FUT ) \
-FIELD( 12, 2, ECX, 12, 20, EPC00_SIZE_LOW, YES, FUT ) \
-FIELD( 12, 2, EDX, 0, 20, EPC00_SIZE_HIGH, YES, FUT ) \
+FIELD( 12, 0, EDX, 0, 8, MAX_ENCLAVE_SIZE_NOT64, YES, 17 ) \
+FIELD( 12, 0, EDX, 8, 8, MAX_ENCLAVE_SIZE_64, YES, 17 ) \
+FIELD( 12, 1, EAX, 0, 32, SECS_ATTRIBUTES0, YES, 17 ) \
+FIELD( 12, 1, EBX, 0, 32, SECS_ATTRIBUTES1, YES, 17 ) \
+FIELD( 12, 1, ECX, 0, 32, SECS_ATTRIBUTES2, YES, 17 ) \
+FIELD( 12, 1, EDX, 0, 32, SECS_ATTRIBUTES3, YES, 17 ) \
+FIELD( 12, 2, EAX, 0, 15, EPC00_VALID, YES, 17 ) \
+FIELD( 12, 2, EAX, 12, 20, EPC00_BASE_LOW, YES, 17 ) \
+FIELD( 12, 2, EBX, 0, 20, EPC00_BASE_HIGH, YES, 17 ) \
+FIELD( 12, 2, ECX, 0, 15, EPC00_PROTECTED, YES, 17 ) \
+FIELD( 12, 2, ECX, 12, 20, EPC00_SIZE_LOW, YES, 17 ) \
+FIELD( 12, 2, EDX, 0, 20, EPC00_SIZE_HIGH, YES, 17 ) \
FIELD( 12, 3, EAX, 0, 4, EPC01_VALID, NO, 0 ) \
FIELD( 12, 3, EAX, 12, 20, EPC01_BASE_LOW, NO, 0 ) \
FIELD( 12, 3, EBX, 0, 20, EPC01_BASE_HIGH, NO, 0 ) \