On Tue, Mar 08, 2022 at 12:34:38 +0100, Paolo Bonzini wrote: > From: Yang Zhong <yang.zh...@intel.com> > > Kernel allocates 4K xstate buffer by default. For XSAVE features > which require large state component (e.g. AMX), Linux kernel > dynamically expands the xstate buffer only after the process has > acquired the necessary permissions. Those are called dynamically- > enabled XSAVE features (or dynamic xfeatures). > > There are separate permissions for native tasks and guests. > > Qemu should request the guest permissions for dynamic xfeatures > which will be exposed to the guest. This only needs to be done > once before the first vcpu is created. > > KVM implemented one new ARCH_GET_XCOMP_SUPP system attribute API to > get host side supported_xcr0 and Qemu can decide if it can request > dynamically enabled XSAVE features permission. > https://lore.kernel.org/all/20220126152210.3044876-1-pbonz...@redhat.com/ > > Suggested-by: Paolo Bonzini <pbonz...@redhat.com> > Signed-off-by: Yang Zhong <yang.zh...@intel.com> > Signed-off-by: Jing Liu <jing2....@intel.com> > Message-Id: <20220217060434.52460-4-yang.zh...@intel.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > target/i386/cpu.c | 7 +++++ > target/i386/cpu.h | 4 +++ > target/i386/kvm/kvm-cpu.c | 12 ++++---- > target/i386/kvm/kvm.c | 57 ++++++++++++++++++++++++++++++++++++++ > target/i386/kvm/kvm_i386.h | 1 + > 5 files changed, 75 insertions(+), 6 deletions(-)
With this commit qemu crashes for me when invoking the following QMP command: $ ~pipo/git/qemu.git/build/qemu-system-x86_64 -S -no-user-config -nodefaults -nographic -machine none,accel=kvm -qmp stdio {"QMP": {"version": {"qemu": {"micro": 90, "minor": 2, "major": 6}, "package": "v7.0.0-rc0-8-g1d60bb4b14"}, "capabilities": ["oob"]}} {'execute':'qmp_capabilities'} {"return": {}} {"execute":"qom-list-properties","arguments":{"typename":"max-x86_64-cpu"},"id":"libvirt-41"} qemu-system-x86_64: ../target/i386/kvm/kvm-cpu.c:105: kvm_cpu_xsave_init: Assertion `esa->size == eax' failed. Aborted (core dumped) Note that the above is on a box with an 'AMD Ryzen 9 3900X'. Curiously on a laptop with an Intel chip (Intel(R) Core(TM) i7-10610U) it seems to work.