linux-stable/arch/x86
Paolo Bonzini e43b8a2f5d KVM: SVM: adjust register allocation for __svm_vcpu_run()
commit f7ef280132 upstream.

32-bit ABI uses RAX/RCX/RDX as its argument registers, so they are in
the way of instructions that hardcode their operands such as RDMSR/WRMSR
or VMLOAD/VMRUN/VMSAVE.

In preparation for moving vmload/vmsave to __svm_vcpu_run(), keep
the pointer to the struct vcpu_svm in %rdi.  In particular, it is now
possible to load svm->vmcb01.pa in %rax without clobbering the struct
vcpu_svm pointer.

No functional change intended.

Cc: stable@vger.kernel.org
Fixes: a149180fbc ("x86: Add magic AMD return-thunk")
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-11-16 10:04:11 +01:00
..
boot
coco
configs
crypto
entry
events
hyperv
ia32
include
kernel KVM: x86: use a separate asm-offsets.c file 2022-11-16 10:04:11 +01:00
kvm KVM: SVM: adjust register allocation for __svm_vcpu_run() 2022-11-16 10:04:11 +01:00
lib
math-emu
mm arch/x86/mm/hugetlbpage.c: pud_huge() returns 0 when using 2-level paging 2022-11-16 10:04:09 +01:00
net
pci
platform
power
purgatory
ras
realmode
tools
um
video
virt/vmx/tdx
xen
.gitignore
Kbuild
Kconfig
Kconfig.assembler
Kconfig.cpu
Kconfig.debug
Makefile
Makefile.um
Makefile_32.cpu