kernel-fxtec-pro1x/arch/powerpc/kernel
Benjamin Herrenschmidt 0c4888ef1d powerpc: Fix fatal SLB miss when restoring PPR
When restoring the PPR value, we incorrectly access the thread structure
at a time where MSR:RI is clear, which means we cannot recover from nested
faults. However the thread structure isn't covered by the "bolted" SLB
entries and thus accessing can fault.

This fixes it by splitting the code so that the PPR value is loaded into
a GPR before MSR:RI is cleared.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-11-06 14:13:53 +11:00
..
vdso32 powerpc: Add ability to build little endian kernels 2013-10-11 16:48:56 +11:00
vdso64 powerpc: Add ability to build little endian kernels 2013-10-11 16:48:56 +11:00
.gitignore
align.c powerpc: Enable Little Endian Alignment Handler for Float Pair Instructions 2013-10-30 16:01:23 +11:00
asm-offsets.c powerpc: move debug registers in a structure 2013-10-18 18:44:49 -05:00
audit.c
btext.c powerpc/btext: Fix CONFIG_PPC_EARLY_DEBUG_BOOTX on ppc32 2013-08-27 16:01:23 +10:00
cacheinfo.c powerpc: Make device tree accesses in cache info code endian safe 2013-08-14 15:33:27 +10:00
cacheinfo.h
clock.c
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_a2.S
cpu_setup_fsl_booke.S powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx 2013-07-30 15:50:07 -05:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc: Fix TLB cleanup at boot on POWER8 2013-05-24 18:13:44 +10:00
cpu_setup_ppc970.S
cputable.c Merge remote-tracking branch 'scott/next' into next 2013-08-09 16:01:40 +10:00
crash.c
crash_dump.c powerpc: Remove savemaxmem parameter setup 2013-07-03 16:08:03 -07:00
dbell.c powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
dma-iommu.c powerpc/dma-iommu: Fix IOMMU window check 2012-08-24 20:26:07 +10:00
dma-swiotlb.c powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
dma.c powerpc/kernel: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:30 +10:00
eeh.c powerpc/eeh: Reorder output messages 2013-10-11 16:54:15 +11:00
eeh_cache.c powerpc/eeh: Remove reference to PCI device 2013-07-24 14:18:46 +10:00
eeh_dev.c powerpc/eeh: Move common part to kernel directory 2013-06-20 17:05:35 +10:00
eeh_driver.c powerpc/eeh: Fix unbalanced enable for IRQ 2013-07-24 14:18:49 +10:00
eeh_event.c powerpc/eeh: Use interruptible sleep in keehd 2013-06-25 17:24:41 +10:00
eeh_pe.c powerpc/eeh: Don't use pci_dev during BAR restore 2013-07-24 14:18:49 +10:00
eeh_sysfs.c powerpc/eeh: Introdce flag to protect sysfs 2013-07-24 14:18:49 +10:00
entry_32.S powerpc/32bit:Store temporary result in r0 instead of r8 2013-06-01 08:29:27 +10:00
entry_64.S powerpc: Fix fatal SLB miss when restoring PPR 2013-11-06 14:13:53 +11:00
epapr_hcalls.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
epapr_paravirt.c powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05:00
exceptions-64e.S powerpc/booke64: Use common defines for AltiVec interrupts numbers 2013-10-16 18:46:40 -05:00
exceptions-64s.S Merge branch 'merge' into next 2013-08-27 15:03:30 +10:00
fadump.c mm/ppc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
firmware.c
fpu.S powerpc: Don't corrupt user registers on 32-bit 2013-10-23 22:34:19 +11:00
fsl_booke_entry_mapping.S
ftrace.c powerpc: Make ftrace endian-safe. 2013-10-11 16:53:26 +11:00
head_8xx.S powerpc/8xx: Fixing issue with CONFIG_PIN_TLB 2013-10-28 21:11:21 -05:00
head_32.S
head_40x.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
head_44x.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
head_64.S powerpc: Endian safe trampoline 2013-10-11 16:48:34 +11:00
head_booke.h powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
head_fsl_booke.S powerpc/fsl-booke: Use common defines for SPE/FP interrupts numbers 2013-10-16 18:49:44 -05:00
hw_breakpoint.c powerpc/hw_brk: Fix off by one error when validating DAWR region end 2013-07-02 08:20:49 +10:00
ibmebus.c ibmebus: convert of_platform_driver to platform_driver 2013-06-12 12:37:26 +01:00
idle.c powerpc/idle: Convert use of typedef ctl_table to struct ctl_table 2013-07-01 11:10:35 +10:00
idle_6xx.S
idle_book3e.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
idle_e500.S
idle_power4.S
idle_power7.S powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
io-workarounds.c powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO 2013-08-14 14:57:50 +10:00
io.c powerpc/powernv: Add PIO accessors for Power8 LPC bus 2013-08-14 14:58:08 +10:00
iomap.c
iommu.c powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in iommu_init_table() 2013-10-03 17:24:44 +10:00
irq.c powerpc/irq: Don't switch to irq stack from softirq stack 2013-10-07 14:19:39 -07:00
isa-bridge.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
jump_label.c
kgdb.c powerpc/kgdb: use DEFINE_PER_CPU to allocate kgdb's thread_info 2013-10-18 18:38:10 -05:00
kprobes.c powerpc: Move the single step enable code to a generic path 2013-06-20 16:55:09 +10:00
kvm.c mm: enhance free_reserved_area() to support poisoning memory with zero 2013-07-03 16:07:32 -07:00
kvm_emul.S
l2cr_6xx.S
legacy_serial.c powerpc/legacy_serial: Fix incorrect placement of __initdata tag 2013-10-11 16:48:59 +11:00
machine_kexec.c powerpc+of: Rename the drivers/of prom_* functions to of_* 2012-11-15 12:56:52 +11:00
machine_kexec_32.c
machine_kexec_64.c powerpc/kexec: kexec_sequence() is in misc_64.S 2013-10-30 16:02:18 +11:00
Makefile powerpc/pseries: Move lparcfg.c to platforms/pseries 2013-08-28 11:20:54 +10:00
misc.S powerpc: switch to generic sys_execve()/kernel_execve() 2012-09-30 23:35:51 -04:00
misc_32.S powerpc: Added __cmpdi2 for signed 64bit comparision 2013-10-11 16:49:27 +11:00
misc_64.S powerpc/irq: Run softirqs off the top of the irq stack 2013-09-25 14:15:36 +10:00
module.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
module_32.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
module_64.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
msi.c
nvram_64.c powerpc/nvram: Fix endian issue when using the partition length 2013-10-31 12:37:28 +11:00
of_platform.c powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
paca.c powerpc: Fix section mismatch warning in free_lppacas 2013-10-11 16:49:26 +11:00
pci-common.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
pci-hotplug.c powerpc/pci: Partial tree hotplug support 2013-07-24 14:18:48 +10:00
pci_32.c powerpc/pci: Support per-aperture memory offset 2013-05-06 13:40:40 +10:00
pci_64.c powerpc/pci: Don't use bitfield for force_32bit_msi 2013-08-14 11:50:25 +10:00
pci_dn.c powerpc: Make PCI device node device tree accesses endian safe 2013-08-14 15:33:31 +10:00
pci_of_scan.c powerpc: Fix little endian issue in OF PCI scan 2013-10-30 16:01:04 +11:00
pmc.c
ppc32.h powerpc: switch to generic old sigaction() 2013-02-03 18:16:10 -05:00
ppc_ksyms.c Merge branch 'for-kvm' into next 2013-10-11 18:23:53 +11:00
ppc_save_regs.S
proc_powerpc.c proc_powerpc: switch to fixed_size_llseek() 2013-06-29 12:57:50 +04:00
process.c powerpc/tm: Remove interrupt disable in __switch_to() 2013-10-31 16:19:17 +11:00
prom.c of: Move definition of of_find_next_cache_node into common code. 2013-10-31 16:19:19 +11:00
prom_init.c powerpc: prom_init exception when updating core value 2013-10-11 16:53:16 +11:00
prom_init_check.sh powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
prom_parse.c powerpc: of_parse_dma_window should take a __be32 *dma_window 2013-08-14 15:33:26 +10:00
ptrace.c powerpc: Set the NOTE type for SPE regset 2013-10-28 21:11:16 -05:00
ptrace32.c powerpc: move debug registers in a structure 2013-10-18 18:44:49 -05:00
reloc_32.S powerpc: Don't flush/invalidate the d/icache for an unknown relocation type 2013-07-01 11:10:34 +10:00
reloc_64.S
rtas-proc.c
rtas-rtc.c
rtas.c powerpc: Make RTAS calls endian safe 2013-08-14 15:33:22 +10:00
rtas_flash.c powerpc/rtas_flash: Fix validate_flash buffer overflow issue 2013-05-14 14:36:26 +10:00
rtas_pci.c powerpc/kernel: Fix endian issue in rtas_pci 2013-10-11 16:50:22 +11:00
rtasd.c powerpc/pseries: Add /proc interface to control topology updates 2013-04-26 16:08:26 +10:00
setup-common.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
setup_32.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
setup_64.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
signal.c powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal.h powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal_32.c powerpc: move debug registers in a structure 2013-10-18 18:44:49 -05:00
signal_64.c Merge branch 'for-kvm' into next 2013-10-11 18:23:53 +11:00
smp-tbsync.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
smp.c powerpc: Export cpu_to_chip_id() to fix build error 2013-09-11 11:39:37 +10:00
stacktrace.c
suspend.c
swsusp.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S powerpc: Only save/restore SDR1 if in hypervisor mode 2013-10-31 12:37:29 +11:00
swsusp_booke.S powerpc/mpc85xx: invalidate TLB after hibernation resume 2013-07-30 15:50:08 -05:00
sys_ppc32.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscalls.c powerpc: Fix personality handling in ppc64_personality() 2012-08-24 20:26:07 +10:00
sysfs.c powerpc/sysfs: Disable writing to PURR in guest mode 2013-10-03 17:22:53 +10:00
systbl.S
systbl_chk.c
systbl_chk.sh
tau_6xx.c
time.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
tm.S powerpc: Use 32 bit loads and stores when operating on condition register values 2013-10-30 16:02:14 +11:00
traps.c powerpc: Fix PPC_EMULATED_STATS build break with sync patch 2013-10-28 22:08:55 -05:00
udbg.c powerpc: Add a configuration option for early BootX/OpenFirmware debug 2013-06-20 16:55:12 +10:00
udbg_16550.c powerpc/wsp: Fix early debug build 2013-08-16 10:59:27 +10:00
uprobes.c uretprobes/powerpc: Hijack return address 2013-04-13 15:31:56 +02:00
vdso.c powerpc: Move local setup.h declarations to arch includes 2013-10-30 16:00:31 +11:00
vecemu.c powerpc: Put FP/VSX and VR state into structures 2013-10-11 17:26:49 +11:00
vector.S powerpc: Don't corrupt user registers on 32-bit 2013-10-23 22:34:19 +11:00
vio.c powerpc/vio: use strcpy in modalias_show 2013-10-30 16:00:57 +11:00
vmlinux.lds.S powerpc/modules: Module CRC relocation fix causes perf issues 2013-07-24 14:18:43 +10:00