1
linux/arch/powerpc/kvm
Alexander Graf 5126ed3760 Add SLB switching code for entry/exit
This is the really low level of guest entry/exit code.

Book3s_64 has an SLB, which stores all ESID -> VSID mappings we're
currently aware of.

The segments in the guest differ from the ones on the host, so we need
to switch the SLB to tell the MMU that we're in a new context.

So we store a shadow of the guest's SLB in the PACA, switch to that on
entry and only restore bolted entries on exit, leaving the rest to the
Linux SLB fault handler.

That way we get a really clean way of switching the SLB.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-11-05 16:49:53 +11:00
..
44x_emulate.c KVM: ppc: split out common Book E instruction emulation 2009-03-24 11:02:57 +02:00
44x_tlb.c KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03:00
44x_tlb.h KVM: ppc: rename 44x MMU functions used in booke.c 2009-03-24 11:02:56 +02:00
44x.c KVM: powerpc: fix some init/exit annotations 2009-09-10 08:32:44 +03:00
book3s_64_interrupts.S Add book3s_64 highmem asm code 2009-11-05 16:49:53 +11:00
book3s_64_slb.S Add SLB switching code for entry/exit 2009-11-05 16:49:53 +11:00
booke_emulate.c KVM: ppc: Add dbsr in kvm_vcpu_arch 2009-03-24 11:02:57 +02:00
booke_interrupts.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
booke.c Move dirty logging code to sub-arch 2009-11-05 16:49:51 +11:00
booke.h KVM: ppc: Add extra E500 exceptions 2009-03-24 11:02:59 +02:00
e500_emulate.c KVM: ppc: e500: Add MMUCFG and PVR emulation 2009-09-10 08:32:47 +03:00
e500_tlb.c KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03:00
e500_tlb.h KVM: ppc: e500: Move to Book-3e MMU definitions 2009-09-10 08:32:47 +03:00
e500.c KVM: ppc: e500: Directly pass pvr to guest 2009-09-10 08:32:47 +03:00
emulate.c KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03:00
Kconfig KVM: remove old KVMTRACE support code 2009-09-10 08:33:03 +03:00
Makefile KVM: remove old KVMTRACE support code 2009-09-10 08:33:03 +03:00
powerpc.c Move dirty logging code to sub-arch 2009-11-05 16:49:51 +11:00
timing.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
timing.h KVM: ppc: mostly cosmetic updates to the exit timing accounting code 2008-12-31 16:55:41 +02:00
trace.h KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03:00