KVM: async_pf: Let guest support delivery of async_pf from guest mode
authorWanpeng Li <wanpeng.li@hotmail.com>
Fri, 14 Jul 2017 01:30:42 +0000 (18:30 -0700)
committerRadim Krčmář <rkrcmar@redhat.com>
Fri, 14 Jul 2017 12:26:16 +0000 (14:26 +0200)
commit52a5c155cf79f1f059bffebf4d06d0249573e659
tree292b7e858eef7f1f2fd5d664a2f96c3974987582
parentadfe20fb48785dd73af3bf91407196eb5403c8cf
KVM: async_pf: Let guest support delivery of async_pf from guest mode

Adds another flag bit (bit 2) to MSR_KVM_ASYNC_PF_EN. If bit 2 is 1,
async page faults are delivered to L1 as #PF vmexits; if bit 2 is 0,
kvm_can_do_async_pf returns 0 if in guest mode.

This is similar to what svm.c wanted to do all along, but it is only
enabled for Linux as L1 hypervisor.  Foreign hypervisors must never
receive async page faults as vmexits, because they'd probably be very
confused about that.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Documentation/virtual/kvm/msr.txt
arch/x86/include/asm/kvm_host.h
arch/x86/include/uapi/asm/kvm_para.h
arch/x86/kernel/kvm.c
arch/x86/kvm/mmu.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c