2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 04:34:11 +08:00
linux-next/arch/powerpc
Michael Neuling c1fb6816fb powerpc: Add relocation on exception vector handlers
POWER8/v2.07 allows exceptions to be taken with the MMU still on.

A new set of exception vectors is added at 0xc000_0000_0000_4xxx.  When the HW
takes us here, MSR IR/DR will be set already and we no longer need a costly
RFID to turn the MMU back on again.

The original 0x0 based exception vectors remain for when the HW can't leave the
MMU on.  Examples of this are when we can't trust the current MMU mappings,
like when we are changing from guest to hypervisor (HV 0 -> 1) or when the MMU
was off already.  In these cases the HW will take us to the original 0x0 based
exception vectors with the MMU off as before.

This uses the new macros added previously too implement these new execption
vectors at 0xc000_0000_0000_4xxx.  We exit these exception vectors using
mflr/blr (rather than mtspr SSR0/RFID), since we don't need the costly MMU
switch anymore.

This moves the __end_interrupts marker down past these new 0x4000 vectors since
they will need to be copied down to 0x0 when the kernel is not at 0x0.

Signed-off-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-11-15 15:08:05 +11:00
..
boot Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
configs powerpc/pseries: Double NR_CPUS in defconfig 2012-11-15 12:59:17 +11:00
include powerpc: Add relocation on exception vector handlers 2012-11-15 15:08:05 +11:00
kernel powerpc: Add relocation on exception vector handlers 2012-11-15 15:08:05 +11:00
kvm powerpc: Build fix for powerpc KVM 2012-10-18 10:37:52 +11:00
lib powerpc: Fix VMX fix for memcpy case 2012-10-04 18:02:43 +10:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm Merge branch 'dt' into next 2012-11-15 15:02:44 +11:00
net powerpc: Start using ___PPC_RA/B/S/T where necessary 2012-07-10 19:18:25 +10:00
oprofile mm: use mm->exe_file instead of first VM_EXECUTABLE vma->vm_file 2012-10-09 16:22:18 +09:00
perf powerpc/perf: Add missing L2 constraint handling in Power7 PMU 2012-11-15 13:00:36 +11:00
platforms Merge branch 'dt' into next 2012-11-15 15:02:44 +11:00
sysdev powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
xmon powerpc/xmon: Fallback to printk() in xmon_printf() if udbg is not setup 2012-11-15 13:00:02 +11:00
Kconfig Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux 2012-10-14 13:39:34 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile powerpc: dtc is required to build dtb files 2012-11-15 12:59:21 +11:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00