linux/arch/powerpc/platforms/pseries
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
..
cmm.c power: cmm - convert sysdev_class to a regular subsystem 2011-12-21 15:09:51 -08:00
dlpar.c powerpc+of: Add of node/property notification chain for adds and removes 2012-11-15 12:56:41 +11:00
dtl.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
eeh_cache.c powerpc/eeh: Cleanup on EEH PCI address cache 2012-09-10 09:59:00 +10:00
eeh_dev.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_driver.c powerpc/eeh: Lock module while handling EEH event 2012-09-18 15:32:48 +10:00
eeh_event.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-13 10:05:52 +09:00
eeh_pe.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_pseries.c powerpc/eeh: Probe mode support 2012-09-10 09:35:44 +10:00
eeh_sysfs.c powerpc/eeh: Move stats to PE 2012-09-10 09:35:43 +10:00
eeh.c powerpc/eeh: Fix crash on converting OF node to edev 2012-09-18 15:32:51 +10:00
event_sources.c powerpc/pseries: Add WARN_ON() to request_event_sources_irqs() on irq allocation/request failure 2010-07-09 11:28:32 +10:00
firmware.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
hotplug-cpu.c powerpc: Fix a lazy irq related WARING in arch_local_irq_restore() 2013-01-10 14:43:45 +11:00
hotplug-memory.c powerpc+of: Add of node/property notification chain for adds and removes 2012-11-15 12:56:41 +11:00
hvCall_inst.c powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit 2012-01-03 12:09:27 +11:00
hvCall.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
hvconsole.c powerpc: convert hvconsole.c to export.h ; fix implicit use of errno.h 2011-10-31 19:30:43 -04:00
hvcserver.c
io_event_irq.c powerpc: Make function that parses RTAS error logs global 2012-03-28 11:31:58 +11:00
iommu.c powerpc+of: Rename the drivers/of prom_* functions to of_* 2012-11-15 12:56:52 +11:00
Kconfig powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
kexec.c powerpc/pseries: Simplify vpa deregistration functions 2011-08-05 14:47:58 +10:00
lpar.c powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
Makefile powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
mobility.c powerpc+of: Rename the drivers/of prom_* functions to of_* 2012-11-15 12:56:52 +11:00
msi.c powerpc/pseries: Fix oops with MSIs when missing EEH PEs 2012-11-23 13:26:05 +11:00
nvram.c kmsg - kmsg_dump() use iterator to receive log buffer content 2012-06-15 14:53:59 -07:00
offline_states.h powerpc/smp: soft-replugged CPUs must go back to start_secondary 2011-04-01 15:37:09 +11:00
pci_dlpar.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pci.c powerpc/pseries/pci: Use NULL instead of 0 for pointers 2013-01-10 17:00:19 +11:00
plpar_wrappers.h powerpc: Fix a lazy irq related WARING in arch_local_irq_restore() 2013-01-10 14:43:45 +11:00
power.c
processor_idle.c cpuidle: Measure idle state durations with monotonic clock 2012-11-27 14:17:58 +01:00
pseries_energy.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
pseries.h powerpc/cpuidle: cpuidle driver for pSeries 2011-12-08 13:56:31 +11:00
ras.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
reconfig.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-12-18 09:58:09 -08:00
scanlog.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
setup.c powerpc: Disable relocation on exceptions whenever PR KVM is active 2013-01-10 17:00:42 +11:00
smp.c powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
suspend.c powerpc/pseries: Fix partition migration hang in stop_topology_update 2012-02-14 15:01:39 +11:00