linux/arch/powerpc/kvm
Ian Munsie a413f474a0 powerpc: Disable relocation on exceptions whenever PR KVM is active
For PR KVM we allow userspace to map 0xc000000000000000. Because
transitioning from userspace to the guest kernel may use the relocated
exception vectors we have to disable relocation on exceptions whenever
PR KVM is active as we cannot trust that address.

This issue does not apply to HV KVM, since changing from a guest to the
hypervisor will never use the relocated exception vectors.

Currently the hypervisor interface only allows us to toggle relocation
on exceptions on a partition wide scope, so we need to globally disable
relocation on exceptions when the first PR KVM instance is started and
only re-enable them when all PR KVM instances have been destroyed.

It's a bit heavy handed, but until the hypervisor gives us a lightweight
way to toggle relocation on exceptions on a single thread it's only real
option.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-10 17:00:42 +11:00
..
44x_emulate.c KVM: PPC: 44x: fix DCR read/write 2012-10-30 10:54:50 +01:00
44x_tlb.c KVM: do not release the error page 2012-08-06 16:04:58 +03:00
44x_tlb.h
44x.c KVM: PPC: 44x: Initialize PVR 2012-10-05 23:38:47 +02:00
book3s_32_mmu_host.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
book3s_32_mmu.c
book3s_32_sr.S
book3s_64_mmu_host.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations 2012-12-06 01:34:05 +01:00
book3s_64_mmu.c
book3s_64_slb.S
book3s_64_vio_hv.c
book3s_64_vio.c
book3s_emulate.c KVM: PPC: Book3S PR: Emulate PURR, SPURR and DSCR registers 2012-12-06 01:34:01 +01:00
book3s_exports.c KVM: PPC: Book3S PR: Fix VSX handling 2012-12-06 01:34:02 +01:00
book3s_hv_builtin.c KVM: PPC: Quieten message about allocating linear regions 2012-10-05 23:38:40 +02:00
book3s_hv_interrupts.S
book3s_hv_ras.c KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking 2012-12-06 01:34:07 +01:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations 2012-12-06 01:34:05 +01:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking 2012-12-06 01:34:07 +01:00
book3s_hv.c KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking 2012-12-06 01:34:07 +01:00
book3s_interrupts.S
book3s_mmu_hpte.c KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
book3s_paired_singles.c
book3s_pr_papr.c
book3s_pr.c powerpc: Disable relocation on exceptions whenever PR KVM is active 2013-01-10 17:00:42 +11:00
book3s_rmhandlers.S KVM: PPC: Book3S PR: Fix VSX handling 2012-12-06 01:34:02 +01:00
book3s_segment.S
book3s.c KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
booke_emulate.c KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation 2012-12-06 01:34:19 +01:00
booke_interrupts.S
booke.c KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface 2012-12-06 01:34:20 +01:00
booke.h KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation 2012-12-06 01:34:19 +01:00
bookehv_interrupts.S KVM: PPC: bookehv64: Add support for interrupt handling 2012-12-06 01:34:11 +01:00
e500_emulate.c KVM: PPC: e500: Add emulation helper for getting instruction ea 2012-12-06 01:34:12 +01:00
e500_tlb.c KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation 2012-12-06 01:34:14 +01:00
e500.c
e500.h KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit 2012-12-06 01:34:15 +01:00
e500mc.c
emulate.c KVM: PPC: Move mtspr/mfspr emulation into own functions 2012-10-30 10:54:51 +01:00
fpu.S
Kconfig KVM: PPC: Support eventfd 2012-12-06 01:33:50 +01:00
Makefile KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking 2012-12-06 01:34:07 +01:00
powerpc.c KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT 2012-12-06 01:33:57 +01:00
timing.c
timing.h
trace.h Merge remote-tracking branch 'master' into queue 2012-10-29 19:15:32 -02:00