Re: [PATCH RFC v1 02/11] x86/fpu/xstate: Introduce xstate order table and accessor macro
From: Andrew Cooper
Date: Thu Feb 27 2025 - 16:10:32 EST
On 27/02/2025 8:06 pm, Ingo Molnar wrote:
> * Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>> What options #1 and #4 will cause is the virt people to come after
>> you with sharp implements for creating incompatibilities in an ABI.
>> The XFEATUREs are the tag(ish) of the union that is the xsave buffer.
> There's no incompatibility for a default-disabled feature that gets
> enabled by an AVX-aware host kernel and by AVX-aware guest kernels.
> What ABI would be broken?
I don't understand your question.
XSAVE, and details about in CPUID, are a stated ABI (given in the SDM
and APM), and available in userspace, including for userpace to write
into a file/socket and interpret later (this is literally how we migrate
VMs between different hosts).
You simply redefine what %xcr0.bnd_* (a.k.a. XFEATURES 3 and 4) mean,
irrespective of what a guest kernel thinks it can get away with.
~Andrew