android_kernel_xiaomi_sm8350/arch/powerpc/kernel
Paul Mackerras 320787c75c [POWERPC] Fix handling of unrecoverable SLB miss interrupts
If an SLB miss interrupt happens while the RI bit of MSR is zero, we
can't just return, because RI being zero indicates that SRR0/SRR1
potentially had live values in them, and the process of taking an
interrupt overwrites them.

This should never happen, but if it does, we try to print a nice oops
message.  That doesn't work, however, because the code at unrecov_slb
assumes that the MMU has been turned on, but we call it with the MMU
off (and have done so since the SLB miss handler was rewritten to run
without turning the MMU on) -- except on iSeries, where everything runs
with the MMU on.

This fixes it by adding the necessary code to turn the MMU on if
necessary.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-14 21:11:22 +10:00
..
vdso32
vdso64
align.c
asm-offsets.c [POWERPC] powerpc32: Remove asm-offsets ptrace cruft 2008-03-26 08:44:05 +11:00
audit.c
btext.c [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
clock.c
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S [POWERPC] 4xx: Add AMCC 460EX/460GT support to cputable.c & cpu_setup_44x.S 2008-03-26 07:19:16 -05:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S
cputable.c [POWERPC] 4xx: Add AMCC 460EX/460GT support to cputable.c & cpu_setup_44x.S 2008-03-26 07:19:16 -05:00
crash_dump.c [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
crash.c [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
dma_64.c iommu sg: powerpc: convert iommu to use the IOMMU helper 2008-02-05 09:44:11 -08:00
entry_32.S
entry_64.S
firmware.c
fpu.S
head_8xx.S [POWERPC] 8xx: fix swap 2008-03-07 08:42:28 -06:00
head_32.S [POWERPC] Remove dead code at KernelAltiVec 2008-02-26 22:17:03 +11:00
head_40x.S
head_44x.S
head_64.S [POWERPC] Fix handling of unrecoverable SLB miss interrupts 2008-04-14 21:11:22 +10:00
head_booke.h
head_fsl_booke.S
ibmebus.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
idle_6xx.S
idle_power4.S
idle.c
init_task.c
io.c
iomap.c
iommu.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
irq.c [POWERPC] Fix iSeries hard irq enabling regression 2008-04-03 22:10:34 +11:00
isa-bridge.c [POWERPC] Replace logical-AND by bit-AND in pci_process_ISA_OF_ranges() 2008-04-07 10:03:02 +10:00
kprobes.c [POWERPC] Kill sparse warnings in kprobes 2008-02-20 13:33:37 +11:00
l2cr_6xx.S
legacy_serial.c [POWERPC] Fix legacy serial search for opb bus ports 2008-02-06 16:30:00 +11:00
lparcfg.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
machine_kexec_32.c
machine_kexec_64.c
machine_kexec.c [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
Makefile [POWERPC] Remove generated files on make clean 2008-02-14 22:11:02 +11:00
misc_32.S [POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels 2008-03-13 09:39:55 +11:00
misc_64.S
misc.S
module_32.c
module_64.c
msi.c
nvram_64.c
of_device.c
of_platform.c
paca.c
pci_32.c
pci_64.c
pci_dn.c
pci-common.c [POWERPC] Fix bogus test for unassigned PCI resources 2008-03-13 10:09:27 +11:00
pmc.c [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
ppc32.h
ppc_ksyms.c [POWERPC] Add hand-coded assembly strcmp 2008-04-07 10:03:03 +10:00
proc_ppc64.c
process.c Merge branch 'linux-2.6' 2008-04-14 21:11:02 +10:00
prom_init.c
prom_parse.c
prom.c [POWERPC] move_device_tree() should be __init 2008-04-01 20:43:08 +11:00
ptrace32.c [POWERPC] Use regset code for compat PTRACE_*REGS* calls 2008-02-07 20:40:21 +11:00
ptrace.c [POWERPC] user_regset PTRACE_SETREGS regression fix 2008-03-20 10:10:56 +11:00
rio.c
rtas_flash.c Merge branch 'linux-2.6' 2008-04-14 21:11:02 +10:00
rtas_pci.c [POWERPC] Convert pci and eeh code to of_device_is_available 2008-04-07 13:49:25 +10:00
rtas-proc.c
rtas-rtc.c
rtas.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
semaphore.c
setup_32.c [POWERPC] Add kernel parameter to set l3cr for MPC745x 2008-04-01 20:43:09 +11:00
setup_64.c [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
setup-common.c [POWERPC] Add 'model: ...' line to common show_cpuinfo() 2008-03-26 08:44:04 +11:00
setup.h
signal_32.c
signal_64.c
signal.c
signal.h
smp-tbsync.c
smp.c
softemu8xx.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp.c
sys_ppc32.c [POWERPC] Don't touch PT_DTRACE in exec 2008-03-26 08:44:05 +11:00
syscalls.c
sysfs.c
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c taskstats scaled time cleanup 2008-02-06 10:41:00 -08:00
traps.c [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y 2008-02-07 11:40:18 +11:00
udbg_16550.c
udbg.c
vdso.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6 2008-02-26 21:08:45 +11:00
vecemu.c
vector.S
vio.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
vmlinux.lds.S