linux/arch/powerpc
Paul Mackerras 342d3db763 KVM: PPC: Implement MMU notifiers for Book3S HV guests
This adds the infrastructure to enable us to page out pages underneath
a Book3S HV guest, on processors that support virtualized partition
memory, that is, POWER7.  Instead of pinning all the guest's pages,
we now look in the host userspace Linux page tables to find the
mapping for a given guest page.  Then, if the userspace Linux PTE
gets invalidated, kvm_unmap_hva() gets called for that address, and
we replace all the guest HPTEs that refer to that page with absent
HPTEs, i.e. ones with the valid bit clear and the HPTE_V_ABSENT bit
set, which will cause an HDSI when the guest tries to access them.
Finally, the page fault handler is extended to reinstantiate the
guest HPTE when the guest tries to access a page which has been paged
out.

Since we can't intercept the guest DSI and ISI interrupts on PPC970,
we still have to pin all the guest pages on PPC970.  We have a new flag,
kvm->arch.using_mmu_notifiers, that indicates whether we can page
guest pages out.  If it is not set, the MMU notifier callbacks do
nothing and everything operates as before.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
2012-03-05 14:52:38 +02:00
..
boot powerpc/85xx: Add dr_mode property in USB nodes 2012-01-18 08:05:42 -06:00
configs powerpc: Remove legacy iSeries from ppc64_defconfig 2012-02-16 16:15:08 +11:00
include/asm KVM: PPC: Implement MMU notifiers for Book3S HV guests 2012-03-05 14:52:38 +02:00
kernel KVM: PPC: Implement MMIO emulation support for Book3S HV guests 2012-03-05 14:52:37 +02:00
kvm KVM: PPC: Implement MMU notifiers for Book3S HV guests 2012-03-05 14:52:38 +02:00
lib powerpc: POWER7 optimised copy_to_user/copy_from_user using VMX 2011-12-19 14:40:40 +11:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm KVM: PPC: Implement MMU notifiers for Book3S HV guests 2012-03-05 14:52:38 +02:00
net net: filter: BPF 'JIT' compiler for PPC64 2011-07-21 12:38:32 -07:00
oprofile powerpc/oprofile: Handle events that raise an exception without overflowing 2011-05-26 13:38:57 +10:00
platforms powerpc: Remove references to cpu_*_map 2012-02-22 16:48:47 +11:00
sysdev powerpc/fsl/pci: Fix PCIe fixup regression 2012-02-16 16:15:03 +11:00
xmon powerpc/xmon: Fix #if typo for systems without MSR[RI] 2011-11-25 14:11:28 +11:00
Kconfig lib: use generic pci_iomap on all architectures 2012-01-10 18:04:27 -08:00
Kconfig.debug powerpc: Implement CONFIG_STRICT_DEVMEM 2011-11-28 11:42:08 +11:00
Makefile powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00