Re: [RFC v2-fix-v4 1/1] x86/tdx: Skip WBINVD instruction for TDX guest

From: Andi Kleen
Date: Wed Jun 09 2021 - 00:25:16 EST



I like this description, but shouldn't the logic be:

if (!CPUID has hypervisor bit set)
wbinvd();

As far as I know, most hypervisors will turn WBINVD into a noop and,
even if they don't, it seems to be that something must be really quite
wrong for a guest to need to WBINVD for ACPI purposes.

KVM only turns it into a noop if there is no VT-d, because with VT-d you might need it to turn mappings into uncached and vice versa.

But yes the change would make sense for reboot. BTW I suspect for the reboot path it isn't really needed anywhere modern, so it might actually be ok to completely disable it. But that's some risk, so doing it only for hypervisor is reasonable.

I can see it making sense for the S3 path, but nobody supports S3 for guests.

-Andi



-Andy