Re: [RFC v2 16/32] x86/tdx: Handle MWAIT, MONITOR and WBINVD

From: Dave Hansen
Date: Tue May 11 2021 - 12:16:18 EST


On 5/11/21 9:09 AM, Sean Christopherson wrote:
>>> Why does this not result in a #UD if the instruction is disabled by
>>> SEAM? How is it possible to execute a disabled instruction (one
>>> precluded by CPUID) to the point where it triggers #VE instead of #UD?
>> This is actually a vestige of VMX. It's quite possible toady to have a
>> feature which isn't enumerated in CPUID which still exists and "works"
>> in the silicon.
> No, virtualization holes are something else entirely.

I think the bigger point is that *CPUID* doesn't enable or disable
instructions in and of itself.

It can *reflect* enabling (like OSPKE), but nothing is actually enabled
or disabled via CPUID.