linux/arch/powerpc/kernel
Christophe Leroy 57bc13acbe powerpc/40x: Don't use SPRN_SPRG_SCRATCH2 in EXCEPTION_PROLOG
Unlike said in the comment, r1 is not reused by the critical
exception handler, as it uses a dedicated critirq_ctx stack.
Decrementing r1 early is then unneeded.

Should the above be valid, the code is crap buggy anyway as
r1 gets some intermediate values that would jeopardise the
whole process (for instance after mfspr   r1,SPRN_SPRG_THREAD)

Using SPRN_SPRG_SCRATCH2 to save r1 is then not needed, r11 can be
used instead. This avoids one mtspr and one mfspr and makes the
prolog closer to what's done on 6xx and 8xx.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-05-03 01:20:27 +10:00
..
syscalls powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
trace powerpc/64: Replace CURRENT_THREAD_INFO with PACA_THREAD_INFO 2019-02-23 22:31:40 +11:00
vdso32 powerpc/vdso: Drop unnecessary cc-ldoption 2019-05-01 10:49:58 +10:00
vdso64 powerpc/vdso: Drop unnecessary cc-ldoption 2019-05-01 10:49:58 +10:00
.gitignore
align.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
asm-offsets.c Merge branch 'topic/ppc-kvm' into next 2019-04-30 22:52:03 +10:00
audit.c
btext.c powerpc: Rework btext_find_display to use of_stdout and device_type helpers 2018-11-26 22:33:37 +11:00
cacheinfo.c powerpc/cacheinfo: Fix kobject memleak 2019-05-01 10:52:29 +10:00
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S powerpc/6xx: fix setup and use of SPRN_SPRG_PGDIR for hash32 2019-03-19 00:30:19 +11:00
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc/mm: move platform specific mmu-xxx.h in platform directories 2018-12-04 19:45:01 +11:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc: Turn off CPU_FTR_P9_TM_HV_ASSIST in non-hypervisor mode 2018-10-09 16:04:27 +11:00
cpu_setup_ppc970.S
cputable.c powerpc: don't use direct assignation during early boot. 2019-05-03 01:20:25 +10:00
crash_dump.c powerpc: don't use ioremap_prot() nor __ioremap() unless really needed. 2018-10-14 18:04:09 +11:00
crash.c
dbell.c powerpc: Add doorbell tracepoints 2019-05-01 16:45:05 +10:00
dma-iommu.c powerpc/dma: use the dma_direct mapping routines 2019-02-18 22:41:04 +11:00
dma-mask.c dma-mapping, powerpc: simplify the arch dma_set_mask override 2019-02-18 22:41:03 +11:00
dma-swiotlb.c powerpc/dma: use the generic direct mapping bypass 2019-02-18 22:41:04 +11:00
dt_cpu_ftrs.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
early_32.c powerpc/32: use memset() instead of memset_io() to zero BSS 2019-05-03 01:20:26 +10:00
eeh_cache.c powerpc/eeh_cache: Bump log level of eeh_addr_cache_print() 2019-02-22 00:10:14 +11:00
eeh_dev.c powerpc/eeh: Cleanup list_head field names 2018-10-13 22:21:25 +11:00
eeh_driver.c powerpc/eeh: Improve recovery of passed-through devices 2019-02-05 11:55:44 +11:00
eeh_event.c powerpc/eeh: Add eeh_force_recover to debugfs 2019-02-22 00:10:15 +11:00
eeh_pe.c powerpc/eeh: Add include_passed to eeh_pe_state_clear() 2019-02-05 11:55:43 +11:00
eeh_sysfs.c powerpc/eeh: Add include_passed to eeh_pe_state_clear() 2019-02-05 11:55:43 +11:00
eeh.c powerpc/eeh: Add eeh_force_recover to debugfs 2019-02-22 00:10:15 +11:00
entry_32.S powerpc/32: move LOAD_MSR_KERNEL() into head_32.h and use it 2019-05-03 01:20:27 +10:00
entry_64.S powerpc/64s: Implement KUAP for Radix MMU 2019-04-21 23:06:02 +10:00
epapr_hcalls.S powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
epapr_paravirt.c
exceptions-64e.S powerpc/fsl: Fix the flush of branch predictor. 2019-02-27 22:52:38 +11:00
exceptions-64s.S Merge branch 'topic/ppc-kvm' into next 2019-04-30 22:52:03 +10:00
fadump.c powerpc/mm: move hugetlb_disabled into asm/hugetlb.h 2019-05-03 01:20:24 +10:00
firmware.c
fpu.S
fsl_booke_entry_mapping.S
head_8xx.S powerpc/32: Refactor EXCEPTION entry macros for head_8xx.S and head_32.S 2019-05-03 01:20:26 +10:00
head_32.h powerpc/32: make the 6xx/8xx EXC_XFER_TEMPLATE() similar to the 40x/booke one 2019-05-03 01:20:27 +10:00
head_32.S powerpc/32: Refactor EXCEPTION entry macros for head_8xx.S and head_32.S 2019-05-03 01:20:26 +10:00
head_40x.S powerpc/40x: Don't use SPRN_SPRG_SCRATCH2 in EXCEPTION_PROLOG 2019-05-03 01:20:27 +10:00
head_44x.S powerpc/32: Add KASAN support 2019-05-03 01:20:26 +10:00
head_64.S powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX 2019-04-20 22:02:12 +10:00
head_booke.h powerpc: Activate CONFIG_THREAD_INFO_IN_TASK 2019-02-23 22:31:40 +11:00
head_fsl_booke.S powerpc/32: Add KASAN support 2019-05-03 01:20:26 +10:00
hw_breakpoint.c powerpc: Add force enable of DAWR on P9 option 2019-04-20 22:20:45 +10:00
idle_6xx.S powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
idle_book3e.S powerpc/64: Replace CURRENT_THREAD_INFO with PACA_THREAD_INFO 2019-02-23 22:31:40 +11:00
idle_book3s.S powerpc/64s: Reimplement book3s idle code in C 2019-04-30 22:37:48 +10:00
idle_e500.S powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
idle_power4.S powerpc/64: Replace CURRENT_THREAD_INFO with PACA_THREAD_INFO 2019-02-23 22:31:40 +11:00
idle.c
ima_kexec.c
io-workarounds.c powerpc: handover page flags with a pgprot_t parameter 2018-10-14 18:04:09 +11:00
io.c
iomap.c
iommu.c IOMMU Updates for Linux v4.21 2019-01-01 15:55:29 -08:00
irq.c powerpc: clean stack pointers naming 2019-02-23 22:31:40 +11:00
isa-bridge.c powerpc: Use device_type helpers to access the node type 2018-11-26 22:33:37 +11:00
jump_label.c jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
kexec_elf_64.c
kgdb.c powerpc: Activate CONFIG_THREAD_INFO_IN_TASK 2019-02-23 22:31:40 +11:00
kprobes-ftrace.c
kprobes.c
kvm_emul.S
kvm.c
l2cr_6xx.S
legacy_serial.c powerpc: Use of_node_name_eq for node name comparisons 2018-12-22 21:29:50 +11:00
machine_kexec_32.c
machine_kexec_64.c powerpc: Activate CONFIG_THREAD_INFO_IN_TASK 2019-02-23 22:31:40 +11:00
machine_kexec_file_64.c powerpc, kexec_file: factor out memblock-based arch_kexec_walk_mem() 2018-12-06 14:38:50 +00:00
machine_kexec.c
Makefile powerpc: disable KASAN instrumentation on early/critical files. 2019-05-03 01:20:26 +10:00
mce_power.c powerpc/powernv/mce: Print additional information about MCE error. 2019-05-01 22:23:20 +10:00
mce.c powerpc/powernv/mce: Print additional information about MCE error. 2019-05-01 22:23:20 +10:00
misc_32.S powerpc/32: Remove CURRENT_THREAD_INFO and rename TI_CPU 2019-02-23 22:31:40 +11:00
misc_64.S
misc.S
module_32.c
module_64.c powerpc/64/module: REL32 relocation range check 2018-10-20 13:26:47 +11:00
module.c powerpc64/module elfv1: Set opd addresses after module relocation 2018-10-20 13:26:47 +11:00
module.lds
msi.c powerpc/msi: Fix NULL pointer access in teardown code 2018-11-29 23:49:11 +11:00
nvram_64.c powerpc: Adopt nvram module for PPC64 2019-01-22 10:21:45 +01:00
of_platform.c
optprobes_head.S
optprobes.c
paca.c powerpc/mm: Add helpers for accessing hash translation related variables 2019-04-21 23:12:38 +10:00
pci_32.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
pci_64.c powerpc: handover page flags with a pgprot_t parameter 2018-10-14 18:04:09 +11:00
pci_dn.c
pci_of_scan.c powerpc: Use device_type helpers to access the node type 2018-11-26 22:33:37 +11:00
pci-common.c powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
pci-hotplug.c
pmc.c powerpc: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 2018-11-26 22:33:37 +11:00
ppc32.h
ppc_save_regs.S
proc_powerpc.c
process.c powerpc/64s: Remove 'dummy_copy_buffer' 2019-05-01 12:08:44 +10:00
prom_init_check.sh powerpc/prom_init: don't use string functions from lib/ 2019-05-03 01:20:25 +10:00
prom_init.c powerpc: don't use direct assignation during early boot. 2019-05-03 01:20:25 +10:00
prom_parse.c
prom.c powerpc: use memblock functions returning virtual address 2019-03-12 10:04:01 -07:00
ptrace32.c
ptrace.c powerpc: Add force enable of DAWR on P9 option 2019-04-20 22:20:45 +10:00
reloc_32.S
reloc_64.S
rtas_flash.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
rtas_pci.c
rtas-proc.c
rtas-rtc.c
rtas.c memblock: drop memblock_alloc_base() 2019-03-12 10:04:01 -07:00
rtasd.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
security.c powerpc/security: Fix spectre_v2 reporting 2019-03-21 21:09:03 +11:00
setup_32.c powerpc/32: Move early_init() in a separate file 2019-05-03 01:20:25 +10:00
setup_64.c powerpc/64: Setup KUP on secondary CPUs 2019-04-21 23:05:59 +10:00
setup-common.c powerpc/mm: print hash info in a helper 2019-05-03 01:20:26 +10:00
setup.h
signal_32.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
signal_64.c powerpc/tm: Avoid machine crash on rt_sigreturn() 2019-05-01 23:03:29 +10:00
signal.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
signal.h
smp-tbsync.c
smp.c powerpc: 'current_set' is now a table of task_struct pointers 2019-02-23 22:31:40 +11:00
stacktrace.c powerpc: Remove export of save_stack_trace_tsk_reliable() 2019-03-02 14:43:05 +11:00
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S powerpc/64s/hash: Simplify slb_flush_and_rebolt() 2018-10-14 18:04:09 +11:00
swsusp_booke.S
swsusp.c
sys_ppc32.c
syscalls.c powerpc/64: Make sys_switch_endian() traceable 2019-02-22 00:10:15 +11:00
sysfs.c powerpc: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 2018-11-26 22:33:37 +11:00
systbl_chk.sh
systbl.S powerpc: remove nargs from __SYSCALL 2019-03-02 14:43:05 +11:00
tau_6xx.c
time.c powerpc: Remove duplicate headers 2019-04-20 22:02:44 +10:00
tm.S Merge branch 'fixes' into next 2018-10-09 16:51:05 +11:00
traps.c powerpc/64s: Include <asm/nmi.h> header file to fix a warning 2019-03-13 15:03:13 +11:00
udbg_16550.c
udbg.c powerpc: use a CONSOLE_LOGLEVEL_DEBUG macro 2019-01-14 20:39:27 +11:00
uprobes.c
vdso.c powerpc/vdso: don't clear PG_reserved 2019-03-05 21:07:18 -08:00
vecemu.c
vector.S
vmlinux.lds.S powerpc/kconfig: define CONFIG_DATA_SHIFT and CONFIG_ETEXT_SHIFT 2019-02-23 21:04:32 +11:00
watchdog.c powerpc/watchdog: Use hrtimers for per-CPU heartbeat 2019-04-30 11:31:02 +10:00