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