Be a good citizen and don't allow any of the supported AMX xfeatures[1] to be set if they can't all be set. That way userspace or a guest doesn't fail if it attempts to set them in XCR0. [1] CPUID.(EAX=0DH,ECX=0):EAX.XTILE_CFG[bit-17] CPUID.(EAX=0DH,ECX=0):EAX.XTILE_DATA[bit-18] Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx> Signed-off-by: Aaron Lewis <aaronlewis@xxxxxxxxxx> --- arch/x86/kvm/cpuid.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 89ad8cd865173..bdccc4ddb45b1 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -866,6 +866,9 @@ static u64 sanitize_xcr0(u64 xcr0) { if ((xcr0 & mask) != mask) xcr0 &= ~XFEATURE_MASK_AVX512; + if ((xcr0 & XFEATURE_MASK_XTILE) != XFEATURE_MASK_XTILE) + xcr0 &= ~XFEATURE_MASK_XTILE; + return xcr0; } -- 2.39.0.314.g84b9a713c41-goog