summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
authorLiran Alon <liran.alon@oracle.com>2018-03-12 13:12:51 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-16 22:01:42 +0100
commit9e86948041f2ec6b7868d4849181cb7bb1bdee70 (patch)
tree45ed6947b868187d8988e695a0d3a68b61b5914d /arch/x86/kvm/svm.c
parent04789b6664a60474aeb8b07a9a94d923a217690e (diff)
downloadop-kernel-dev-9e86948041f2ec6b7868d4849181cb7bb1bdee70.zip
op-kernel-dev-9e86948041f2ec6b7868d4849181cb7bb1bdee70.tar.gz
KVM: x86: VMX: Intercept #GP to support access to VMware backdoor ports
If KVM enable_vmware_backdoor module parameter is set, the commit change VMX to now intercept #GP instead of being directly deliviered from CPU to guest. It is done to support access to VMware backdoor I/O ports even if TSS I/O permission denies it. In that case: 1. A #GP will be raised and intercepted. 2. #GP intercept handler will simulate I/O port access instruction. 3. I/O port access instruction simulation will allow access to VMware backdoor ports specifically even if TSS I/O permission bitmap denies it. Note that the above change introduce slight performance hit as now #GPs are not deliviered directly from CPU to guest but instead cause #VMExit and instruction emulation. However, this behavior is introduced only when enable_vmware_backdoor KVM module parameter is set. Signed-off-by: Liran Alon <liran.alon@oracle.com> Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Reviewed-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud