Re: [PATCH 0/2] KVM: x86: emulate fxsave and fxrstor

From: Laszlo Ersek
Date: Wed Oct 26 2016 - 17:41:14 EST


On 10/26/16 22:50, Radim KrÄmÃÅ wrote:
> [1/2] adds the emulation (and could be split into two patches if you'd like),
> [2/2] just refactors the code.
>
> This should fix an issue that users are hitting. Laszlo found several reports:
> - https://bugs.launchpad.net/qemu/+bug/1623276
> - https://bugzilla.proxmox.com/show_bug.cgi?id=1182
> - https://bugs.archlinux.org/task/50778
>
> I have only tested it with a simple kvm-unit-tests, though. Reproducing the
> iPXE issue is on the way ...
>
>
> Radim KrÄmÃÅ (2):
> KVM: x86: emulate fxsave and fxrstor
> KVM: x86: save one bit in ctxt->d
>
> arch/x86/kvm/emulate.c | 110 ++++++++++++++++++++++++++++++++++++++++++-------
> 1 file changed, 94 insertions(+), 16 deletions(-)
>

I was just about to post iPXE patches that would disable the FXSAVE /
FXRSTOR instructions in the CONFIG=qemu build (*), but you beat me to it
with the KVM emulation code ;)

(*) If you look at the iPXE commit that added them, they are a
workaround for a Tivoli VMM bug; i.e., irrelevant for QEMU/KVM guests.

... Actually, those iPXE patches that conditionalize FXSAVE / FXRSTOR
may still make sense -- we can rebuild iPXE, and bundle the refreshed
binaries with QEMU v2.7.1, and swiftly at that. Whereas the KVM patches
could take more time to propagate to users?... Not sure. What do you
guys think?

Thanks
Laszlo