linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/12] KVM/X86: Introduce a new guest mapping interface
@ 2018-04-15 21:53 KarimAllah Ahmed
  2018-04-15 21:53 ` [PATCH v2 01/12] X86/nVMX: handle_vmon: Read 4 bytes from guest memory KarimAllah Ahmed
                   ` (12 more replies)
  0 siblings, 13 replies; 21+ messages in thread
From: KarimAllah Ahmed @ 2018-04-15 21:53 UTC (permalink / raw)
  To: linux-kernel, kvm, pbonzini, rkrcmar; +Cc: KarimAllah Ahmed

Guest memory can either be directly managed by the kernel (i.e. have a "struct
page") or they can simply live outside kernel control (i.e. do not have a
"struct page"). KVM mostly support these two modes, except in a few places
where the code seems to assume that guest memory must have a "struct page".

This patchset introduces a new mapping interface to map guest memory into host
kernel memory which also supports PFN-based memory (i.e. memory without 'struct
page'). It also converts all offending code to this interface or simply
read/write directly from guest memory.

As far as I can see all offending code is now fixed except the APIC-access page
which I will handle in a seperate patch.

Filippo Sironi (1):
  X86/KVM: Handle PFNs outside of kernel reach when touching GPTEs

KarimAllah Ahmed (11):
  X86/nVMX: handle_vmon: Read 4 bytes from guest memory
  X86/nVMX: handle_vmptrld: Copy the VMCS12 directly from guest memory
  X86/nVMX: Update the PML table without mapping and unmapping the page
  KVM: Introduce a new guest mapping API
  KVM/nVMX: Use kvm_vcpu_map when mapping the L1 MSR bitmap
  KVM/nVMX: Use kvm_vcpu_map when mapping the virtual APIC page
  KVM/nVMX: Use kvm_vcpu_map when mapping the posted interrupt
    descriptor table
  KVM/X86: Use kvm_vcpu_map in emulator_cmpxchg_emulated
  KVM/X86: hyperv: Use kvm_vcpu_map in synic_clear_sint_msg_pending
  KVM/X86: hyperv: Use kvm_vcpu_map in synic_deliver_msg
  KVM/nSVM: Use the new mapping API for mapping guest memory

 arch/x86/kvm/hyperv.c      |  28 ++++-----
 arch/x86/kvm/paging_tmpl.h |  38 +++++++++---
 arch/x86/kvm/svm.c         |  97 +++++++++++++++---------------
 arch/x86/kvm/vmx.c         | 145 +++++++++++++++------------------------------
 arch/x86/kvm/x86.c         |  13 ++--
 include/linux/kvm_host.h   |   9 +++
 virt/kvm/kvm_main.c        |  50 ++++++++++++++++
 7 files changed, 203 insertions(+), 177 deletions(-)

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

-- 
2.7.4

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2018-07-11 10:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-15 21:53 [PATCH v2 00/12] KVM/X86: Introduce a new guest mapping interface KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 01/12] X86/nVMX: handle_vmon: Read 4 bytes from guest memory KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 02/12] X86/nVMX: handle_vmptrld: Copy the VMCS12 directly " KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 03/12] X86/nVMX: Update the PML table without mapping and unmapping the page KarimAllah Ahmed
2018-04-16 11:10   ` Paolo Bonzini
2018-04-15 21:53 ` [PATCH v2 04/12] X86/KVM: Handle PFNs outside of kernel reach when touching GPTEs KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 05/12] KVM: Introduce a new guest mapping API KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 06/12] KVM/nVMX: Use kvm_vcpu_map when mapping the L1 MSR bitmap KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 07/12] KVM/nVMX: Use kvm_vcpu_map when mapping the virtual APIC page KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 08/12] KVM/nVMX: Use kvm_vcpu_map when mapping the posted interrupt descriptor table KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 09/12] KVM/X86: Use kvm_vcpu_map in emulator_cmpxchg_emulated KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 10/12] KVM/X86: hyperv: Use kvm_vcpu_map in synic_clear_sint_msg_pending KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 11/12] KVM/X86: hyperv: Use kvm_vcpu_map in synic_deliver_msg KarimAllah Ahmed
2018-04-15 21:53 ` [PATCH v2 12/12] KVM/nSVM: Use the new mapping API for mapping guest memory KarimAllah Ahmed
2018-04-16 11:10 ` [PATCH v2 00/12] KVM/X86: Introduce a new guest mapping interface Paolo Bonzini
2018-04-16 12:09   ` Raslan, KarimAllah
2018-04-16 12:27     ` Paolo Bonzini
2018-05-15 16:06       ` Konrad Rzeszutek Wilk
2018-05-22 15:43         ` Raslan, KarimAllah
2018-07-10 12:06   ` Raslan, KarimAllah
2018-07-11 10:26     ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).