]> git.baikalelectronics.ru Git - kernel.git/commit
x86/kvm: Convert FPU handling to a single swap buffer
authorThomas Gleixner <tglx@linutronix.de>
Fri, 22 Oct 2021 18:55:53 +0000 (20:55 +0200)
committerBorislav Petkov <bp@suse.de>
Sat, 23 Oct 2021 14:13:29 +0000 (16:13 +0200)
commit8c7a54c327eb6d87a4600a497b120f30653ce618
tree6db33a2e11b7dbacd73033a238b8fbde93e4b9ab
parentba8b811f17b432b4a1ed2d622b612b7ef3a3309a
x86/kvm: Convert FPU handling to a single swap buffer

For the upcoming AMX support it's necessary to do a proper integration with
KVM. Currently KVM allocates two FPU structs which are used for saving the user
state of the vCPU thread and restoring the guest state when entering
vcpu_run() and doing the reverse operation before leaving vcpu_run().

With the new fpstate mechanism this can be reduced to one extra buffer by
swapping the fpstate pointer in current::thread::fpu. This makes the
upcoming support for AMX and XFD simpler because then fpstate information
(features, sizes, xfd) are always consistent and it does not require any
nasty workarounds.

Convert the KVM FPU code over to this new scheme.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211022185313.019454292@linutronix.de
arch/x86/include/asm/fpu/api.h
arch/x86/include/asm/kvm_host.h
arch/x86/kernel/fpu/core.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/x86.c