XFEATURE_MASK_XTILE_DATA
# define XFEATURE_MASK_XTILE (XFEATURE_MASK_XTILE_DATA \
#define XFEATURE_MASK_USER_DYNAMIC XFEATURE_MASK_XTILE_DATA
BUILD_BUG_ON(XFEATURE_MASK_USER_DYNAMIC != XFEATURE_MASK_XTILE_DATA);
[XFEATURE_XTILE_DATA] = XFEATURE_MASK_XTILE_DATA,
BUILD_BUG_ON(XFEATURE_MASK_USER_DYNAMIC != XFEATURE_MASK_XTILE_DATA);
if (!(permitted_xcr0 & XFEATURE_MASK_XTILE_DATA))
#define XFEATURE_MASK_XTILE (XFEATURE_MASK_XTILE_DATA | \
wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILE_DATA);
xstate->header.xstate_bv = XFEATURE_MASK_XTILE_DATA;
__xsavec(xstate, XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILE_DATA));
GUEST_ASSERT(xstate->header.xcomp_bv & XFEATURE_MASK_XTILE_DATA);
wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILE_DATA);
xstate->header.xstate_bv = XFEATURE_MASK_XTILE_DATA;
__xsavec(xstate, XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILE_DATA));
GUEST_ASSERT((xstate->header.xcomp_bv & XFEATURE_MASK_XTILE_DATA));
GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILE_DATA);
GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILE_DATA);
vm_xsave_require_permission(XFEATURE_MASK_XTILE_DATA);