LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: KarimAllah Ahmed <karahmed@amazon.de>
To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
pbonzini@redhat.com, rkrcmar@redhat.com
Cc: KarimAllah Ahmed <karahmed@amazon.de>
Subject: [PATCH v2 00/12] KVM/X86: Introduce a new guest mapping interface
Date: Sun, 15 Apr 2018 23:53:06 +0200 [thread overview]
Message-ID: <1523829198-13236-1-git-send-email-karahmed@amazon.de> (raw)
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
next reply other threads:[~2018-04-15 21:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-15 21:53 KarimAllah Ahmed [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1523829198-13236-1-git-send-email-karahmed@amazon.de \
--to=karahmed@amazon.de \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--subject='Re: [PATCH v2 00/12] KVM/X86: Introduce a new guest mapping interface' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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).