linux_dsm_epyc7002/arch
Sean Christopherson 52a9fcbc73 KVM: VMX: Optimize VMX instruction error and fault handling
Rework the VMX instruction helpers using asm-goto to branch directly
to error/fault "handlers" in lieu of using __ex(), i.e. the generic
____kvm_handle_fault_on_reboot().  Branching directly to fault handling
code during fixup avoids the extra JMP that is inserted after every VMX
instruction when using the generic "fault on reboot" (see commit
3901336ed9, "x86/kvm: Don't call kvm_spurious_fault() from .fixup").

Opportunistically clean up the helpers so that they all have consistent
error handling and messages.

Leave the usage of ____kvm_handle_fault_on_reboot() (via __ex()) in
kvm_cpu_vmxoff() and nested_vmx_check_vmentry_hw() as is.  The VMXOFF
case is not a fast path, i.e. the cleanliness of __ex() is worth the
JMP, and the extra JMP in nested_vmx_check_vmentry_hw() is unavoidable.

Note, VMREAD cannot get the asm-goto treatment as output operands aren't
compatible with GCC's asm-goto due to internal compiler restrictions.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-09-25 15:30:02 +02:00
..
alpha Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
arc Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
arm pci-v5.4-changes 2019-09-23 19:16:01 -07:00
arm64 pci-v5.4-changes 2019-09-23 19:16:01 -07:00
c6x dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP 2019-09-04 11:13:18 +02:00
csky hmm related patches for 5.4 2019-09-21 10:07:42 -07:00
h8300 h8300 update for 5.3 2019-07-17 09:36:38 -07:00
hexagon hexagon: switch to generic version of pte allocation 2019-07-21 09:53:00 -07:00
ia64 Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
m68k Modules updates for v5.4 2019-09-22 10:34:46 -07:00
microblaze pci-v5.4-changes 2019-09-23 19:16:01 -07:00
mips pci-v5.4-changes 2019-09-23 19:16:01 -07:00
nds32 dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
nios2 nios2 update for v5.3-rc1 2019-07-12 15:38:05 -07:00
openrisc hmm related patches for 5.4 2019-09-21 10:07:42 -07:00
parisc Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
powerpc pci-v5.4-changes 2019-09-23 19:16:01 -07:00
riscv Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
s390 hmm related patches for 5.4 2019-09-21 10:07:42 -07:00
sh dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
sparc pci-v5.4-changes 2019-09-23 19:16:01 -07:00
um This pull request contains the following changes for UML: 2019-09-21 11:07:02 -07:00
unicore32 dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
x86 KVM: VMX: Optimize VMX instruction error and fault handling 2019-09-25 15:30:02 +02:00
xtensa dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
.gitignore
Kconfig powerpc updates for 5.4 2019-09-20 11:48:06 -07:00