FLAG( D, 1, EAX, 4, 1, XFD, NO, 0 ) \
FIELD( D, 1, EBX, 0, 32, XSAVES_ENABLED_SIZE, ANY, 13 ) \
FLAG( D, 1, ECX, 8, 1, XSS_MASTER_PT, NO, 0 ) \
+FLAG( D, 1, ECX, 10, 1, XSS_MASTER_PASID, NO, 0 ) \
FLAG( D, 1, ECX, 11, 1, XSS_MASTER_CET_U, NO, 0 ) \
FLAG( D, 1, ECX, 12, 1, XSS_MASTER_CET_S, NO, 0 ) \
FLAG( D, 1, ECX, 13, 1, XSS_MASTER_HDC, NO, 0 ) \
FLAG( D, 1, ECX, 14, 1, XSS_MASTER_UINTR, NO, 0 ) \
+FLAG( D, 1, ECX, 15, 1, XSS_MASTER_LBR, NO, 0 ) \
FLAG( D, 1, ECX, 16, 1, XSS_MASTER_HWP, NO, 0 ) \
FIELD( D, 1, EDX, 0, 32, XSS_MASTER_UPPER, NO, 0 ) \
FIELD( D, 2, EAX, 0, 32, XSAVE_YMM_SIZE, YES, 8 ) \
FLAG( D, 2, ECX, 0, 1, XSAVE_YMM_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 2, ECX, 1, 1, XSAVE_YMM_ALIGN, YES, 13 ) \
FLAG( D, 2, ECX, 2, 1, XSAVE_YMM_XFD, NO, 0 ) \
-FIELD( D, 2, ECX, 3, 29, XSAVE_YMM_RSVD1, NO, 0 ) \
-FIELD( D, 2, EDX, 0, 32, XSAVE_YMM_RSVD2, NO, 0 ) \
FIELD( D, 3, EAX, 0, 32, XSAVE_BNDREGS_SIZE, YES, 13 ) \
FIELD( D, 3, EBX, 0, 32, XSAVE_BNDREGS_OFFSET, YES, 13 ) \
FLAG( D, 3, ECX, 0, 1, XSAVE_BNDREGS_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 3, ECX, 1, 1, XSAVE_BNDREGS_ALIGN, YES, 13 ) \
FLAG( D, 3, ECX, 2, 1, XSAVE_BNDREGS_XFD, NO, 0 ) \
-FIELD( D, 3, ECX, 3, 29, XSAVE_BNDREGS_RSVD1, NO, 0 ) \
-FIELD( D, 3, EDX, 0, 32, XSAVE_BNDREGS_RSVD2, NO, 0 ) \
FIELD( D, 4, EAX, 0, 32, XSAVE_BNDCSR_SIZE, YES, 13 ) \
FIELD( D, 4, EBX, 0, 32, XSAVE_BNDCSR_OFFSET, YES, 13 ) \
FLAG( D, 4, ECX, 0, 1, XSAVE_BNDCSR_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 4, ECX, 1, 1, XSAVE_BNDCSR_ALIGN, YES, 13 ) \
FLAG( D, 4, ECX, 2, 1, XSAVE_BNDCSR_XFD, NO, 0 ) \
-FIELD( D, 4, ECX, 3, 29, XSAVE_BNDCSR_RSVD1, NO, 0 ) \
-FIELD( D, 4, EDX, 0, 32, XSAVE_BNDCSR_RSVD2, NO, 0 ) \
FIELD( D, 5, EAX, 0, 32, XSAVE_OPMASK_SIZE, YES, 13 ) \
FIELD( D, 5, EBX, 0, 32, XSAVE_OPMASK_OFFSET, YES, 13 ) \
FLAG( D, 5, ECX, 0, 1, XSAVE_OPMASK_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 5, ECX, 1, 1, XSAVE_OPMASK_ALIGN, YES, 13 ) \
FLAG( D, 5, ECX, 2, 1, XSAVE_OPMASK_XFD, NO, 0 ) \
-FIELD( D, 5, ECX, 3, 29, XSAVE_OPMASK_RSVD1, NO, 0 ) \
-FIELD( D, 5, EDX, 0, 32, XSAVE_OPMASK_RSVD2, NO, 0 ) \
FIELD( D, 6, EAX, 0, 32, XSAVE_ZMM_H_SIZE, YES, 13 ) \
FIELD( D, 6, EBX, 0, 32, XSAVE_ZMM_H_OFFSET, YES, 13 ) \
FLAG( D, 6, ECX, 0, 1, XSAVE_ZMM_H_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 6, ECX, 1, 1, XSAVE_ZMM_H_ALIGN, YES, 13 ) \
FLAG( D, 6, ECX, 2, 1, XSAVE_ZMM_H_XFD, NO, 0 ) \
-FIELD( D, 6, ECX, 3, 29, XSAVE_ZMM_H_RSVD1, NO, 0 ) \
-FIELD( D, 6, EDX, 0, 32, XSAVE_ZMM_H_RSVD2, NO, 0 ) \
FIELD( D, 7, EAX, 0, 32, XSAVE_HI16_ZMM_SIZE, YES, 13 ) \
FIELD( D, 7, EBX, 0, 32, XSAVE_HI16_ZMM_OFFSET, YES, 13 ) \
FLAG( D, 7, ECX, 0, 1, XSAVE_HI16_ZMM_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 7, ECX, 1, 1, XSAVE_HI16_ZMM_ALIGN, YES, 13 ) \
FLAG( D, 7, ECX, 2, 1, XSAVE_HI16_ZMM_XFD, NO, 0 ) \
-FIELD( D, 7, ECX, 3, 29, XSAVE_HI16_ZMM_RSVD1, NO, 0 ) \
-FIELD( D, 7, EDX, 0, 32, XSAVE_HI16_ZMM_RSVD2, NO, 0 ) \
-FIELD( D, 8, EAX, 0, 32, XSAVE_PT_STATE_SIZE, NO, 0 ) \
-FIELD( D, 8, EBX, 0, 32, XSAVE_PT_STATE_OFFSET, NO, 0 ) \
-FLAG( D, 8, ECX, 0, 1, XSAVE_PT_STATE_SUP_BY_XSS, NO, 0 ) \
-FLAG( D, 8, ECX, 1, 1, XSAVE_PT_STATE_ALIGN, NO, 0 ) \
-FLAG( D, 8, ECX, 2, 1, XSAVE_PT_STATE_XFD, NO, 0 ) \
-FIELD( D, 8, ECX, 3, 29, XSAVE_PT_STATE_RSVD1, NO, 0 ) \
-FIELD( D, 8, EDX, 0, 32, XSAVE_PT_STATE_RSVD2, NO, 0 ) \
+FIELD( D, 8, EAX, 0, 32, XSAVES_PT_STATE_SIZE, NO, 0 ) \
+FLAG( D, 8, ECX, 0, 1, XSAVES_PT_STATE_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 8, ECX, 1, 1, XSAVES_PT_STATE_ALIGN, NO, 0 ) \
+FLAG( D, 8, ECX, 2, 1, XSAVES_PT_STATE_XFD, NO, 0 ) \
FIELD( D, 9, EAX, 0, 32, XSAVE_PKRU_SIZE, YES, 13 ) \
FIELD( D, 9, EBX, 0, 32, XSAVE_PKRU_OFFSET, YES, 13 ) \
FLAG( D, 9, ECX, 0, 1, XSAVE_PKRU_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 9, ECX, 1, 1, XSAVE_PKRU_ALIGN, YES, 13 ) \
FLAG( D, 9, ECX, 2, 1, XSAVE_PKRU_XFD, NO, 0 ) \
-FIELD( D, 9, ECX, 3, 29, XSAVE_PKRU_RSVD1, NO, 0 ) \
-FIELD( D, 9, EDX, 0, 32, XSAVE_PKRU_RSVD2, NO, 0 ) \
+FIELD( D, 10, EAX, 0, 32, XSAVES_PASID_STATE_SIZE, NO, 0 ) \
+FLAG( D, 10, ECX, 0, 1, XSAVES_PASID_STATE_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 10, ECX, 1, 1, XSAVES_PASID_STATE_ALIGN, NO, 0 ) \
+FLAG( D, 10, ECX, 2, 1, XSAVES_PASID_STATE_XFD, NO, 0 ) \
+FIELD( D, 11, EAX, 0, 32, XSAVES_CET_U_SIZE, NO, 0 ) \
+FLAG( D, 11, ECX, 0, 1, XSAVES_CET_U_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 11, ECX, 1, 1, XSAVES_CET_U_ALIGN, NO, 0 ) \
+FLAG( D, 11, ECX, 2, 1, XSAVES_CET_U_XFD, NO, 0 ) \
+FIELD( D, 12, EAX, 0, 32, XSAVES_CET_S_SIZE, NO, 0 ) \
+FLAG( D, 12, ECX, 0, 1, XSAVES_CET_S_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 12, ECX, 1, 1, XSAVES_CET_S_ALIGN, NO, 0 ) \
+FLAG( D, 12, ECX, 2, 1, XSAVES_CET_S_XFD, NO, 0 ) \
+FIELD( D, 13, EAX, 0, 32, XSAVES_HDT_SIZE, NO, 0 ) \
+FLAG( D, 13, ECX, 0, 1, XSAVES_HDT_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 13, ECX, 1, 1, XSAVES_HDT_ALIGN, NO, 0 ) \
+FLAG( D, 13, ECX, 2, 1, XSAVES_HDT_XFD, NO, 0 ) \
+FIELD( D, 14, EAX, 0, 32, XSAVES_UINTR_SIZE, NO, 0 ) \
+FLAG( D, 14, ECX, 0, 1, XSAVES_UINTR_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 14, ECX, 1, 1, XSAVES_UINTR_ALIGN, NO, 0 ) \
+FLAG( D, 14, ECX, 2, 1, XSAVES_UINTR_XFD, NO, 0 ) \
+FIELD( D, 15, EAX, 0, 32, XSAVES_LBR_SIZE, NO, 0 ) \
+FLAG( D, 15, ECX, 0, 1, XSAVES_LBR_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 15, ECX, 1, 1, XSAVES_LBR_ALIGN, NO, 0 ) \
+FLAG( D, 15, ECX, 2, 1, XSAVES_LBR_XFD, NO, 0 ) \
+FIELD( D, 16, EAX, 0, 32, XSAVES_HWP_SIZE, NO, 0 ) \
+FLAG( D, 16, ECX, 0, 1, XSAVES_HWP_SUP_BY_XSS, NO, 0 ) \
+FLAG( D, 16, ECX, 1, 1, XSAVES_HWP_ALIGN, NO, 0 ) \
+FLAG( D, 16, ECX, 2, 1, XSAVES_HWP_XFD, NO, 0 ) \
FIELD( D, 17, EAX, 0, 32, XSAVE_XTILECFG_SIZE, NO, 0 ) \
FIELD( D, 17, EBX, 0, 32, XSAVE_XTILECFG_OFFSET, NO, 0 ) \
FLAG( D, 17, ECX, 0, 1, XSAVE_XTILECFG_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 17, ECX, 1, 1, XSAVE_XTILECFG_ALIGN, NO, 0 ) \
FLAG( D, 17, ECX, 2, 1, XSAVE_XTILECFG_XFD, NO, 0 ) \
-FIELD( D, 17, ECX, 3, 29, XSAVE_XTILECFG_RSVD1, NO, 0 ) \
-FIELD( D, 17, EDX, 0, 32, XSAVE_XTILECFG_RSVD2, NO, 0 ) \
FIELD( D, 18, EAX, 0, 32, XSAVE_XTILEDATA_SIZE, NO, 0 ) \
FIELD( D, 18, EBX, 0, 32, XSAVE_XTILEDATA_OFFSET, NO, 0 ) \
FLAG( D, 18, ECX, 0, 1, XSAVE_XTILEDATA_SUP_BY_XSS, NO, 0 ) \
FLAG( D, 18, ECX, 1, 1, XSAVE_XTILEDATA_ALIGN, NO, 0 ) \
FLAG( D, 18, ECX, 2, 1, XSAVE_XTILEDATA_XFD, NO, 0 ) \
-FIELD( D, 18, ECX, 3, 29, XSAVE_XTILEDATA_RSVD1, NO, 0 ) \
-FIELD( D, 18, EDX, 0, 32, XSAVE_XTILEDATA_RSVD2, NO, 0 )
/* D, 62: AMD LWP leaf on BD, PD, SR. Dropped in Zen. Never referenced. */
/* LEVEL, SUB-LEVEL, REG, POS, SIZE, NAME, MON SUPP, HWV */