linux/arch/powerpc/kernel
Michael Ellerman 3d1229d6ae [PATCH] powerpc: Merge kexec
This patch merges, to some extent, the PPC32 and PPC64 kexec implementations.

We adopt the PPC32 approach of having ppc_md callbacks for the kexec functions.
The current PPC64 implementation becomes the "default" implementation for PPC64
which platforms can select if they need no special treatment.

I've added these default callbacks to pseries/maple/cell/powermac, this means
iSeries no longer supports kexec - but it never worked anyway.

I've renamed PPC32's machine_kexec_simple to default_machine_kexec, inline with
PPC64. Judging by the comments it might be better named machine_kexec_non_of,
or something, but at the moment it's the only implementation for PPC32 so it's
the "default".

Kexec requires machine_shutdown(), which is in machine_kexec.c on PPC32, but we
already have in setup-common.c on powerpc. All this does is call
ppc_md.nvram_sync, which only powermac implements, so instead make
machine_shutdown a ppc_md member and have it call core99_nvram_sync directly
on powermac.

I've also stuck relocate_kernel.S into misc_32.S for powerpc.

Built for ARCH=ppc, and 32 & 64 bit ARCH=powerpc, with KEXEC=y/n. Booted on
P5 LPAR and successfully kexec'ed.

Should apply on top of 493f25ef40.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-01-09 14:48:52 +11:00
..
vdso32 [PATCH] powerpc: Make the vDSO functions set error code (#2) 2005-11-16 14:05:11 +11:00
vdso64 [PATCH] powerpc: Make the vDSO functions set error code (#2) 2005-11-16 14:05:11 +11:00
align.c [PATCH] powerpc: merge align.c 2005-11-18 14:39:23 +11:00
asm-offsets.c [PATCH] powerpc: vdso fixes (take #2) 2005-11-14 16:35:58 +11:00
binfmt_elf32.c ppc64: merge binfmt_elf32.c 2005-10-13 13:40:54 +10:00
btext.c powerpc: Get 64-bit configs to compile with ARCH=powerpc 2005-10-10 22:50:37 +10:00
cpu_setup_power4.S [PATCH] powerpc: Move various ppc64 files with no ppc32 equivalent to powerpc 2005-11-10 11:24:04 +11:00
cputable.c powerpc: Add user CPU features for POWER4, POWER5, POWER5+ and Cell. 2005-11-10 14:29:18 +11:00
dma_64.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
entry_32.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
entry_64.S powerpc: correct register usage in 64-bit syscall exit path 2005-12-20 15:38:47 +11:00
firmware.c [PATCH] powerpc: Move various ppc64 files with no ppc32 equivalent to powerpc 2005-11-10 11:24:04 +11:00
fpu.S [PATCH] powerpc: Consolidate asm compatibility macros 2005-11-10 13:10:38 +11:00
head_4xx.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
head_8xx.S powerpc: Rename asm offset TRAP to _TRAP for 32-bit 2005-10-28 22:45:25 +10:00
head_32.S powerpc: Initialize secondary CPU setup for 32-bit SMP 2005-11-11 22:34:43 +11:00
head_44x.S [PATCH] powerpc: replace use of _GLOBAL with .globl 2005-10-17 21:43:12 +10:00
head_64.S [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
head_fsl_booke.S [PATCH] Update email address for Kumar 2005-11-13 18:14:10 -08:00
idle_6xx.S powerpc: Use reg.h instead of processor.h when we just want reg names 2005-10-10 22:20:10 +10:00
idle_64.c powerpc: Move remaining .c files from arch/ppc64 to arch/powerpc 2005-11-18 15:43:34 +11:00
idle_power4.S [PATCH] powerpc: Fix use of LOADBASE in merge tree 2005-10-17 21:43:12 +10:00
init_task.c powerpc: make process.c suitable for both 32-bit and 64-bit 2005-10-10 22:29:05 +10:00
ioctl32.c [SPARC]: Fix RTC compat ioctl kernel log spam. 2005-11-12 12:10:54 -08:00
iomap.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
iommu.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
irq.c powerpc: have only one definition of __irq_offset_value 2005-11-14 14:44:33 +11:00
kprobes.c [PATCH] kprobes: increment kprobe missed count for multiprobes 2005-12-12 08:57:45 -08:00
lparcfg.c powerpc: iSeries build fixes 2005-11-14 17:14:51 +11:00
lparmap.c [PATCH] ppc64: support 64k pages 2005-11-06 16:56:47 -08:00
machine_kexec_32.c [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
machine_kexec_64.c [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
machine_kexec.c [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
Makefile [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
misc_32.S [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
misc_64.S ppc64: remove ppc_irq_dispatch_handler 2005-11-09 16:19:53 +11:00
module_64.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
nvram_64.c powerpc: Move remaining .c files from arch/ppc64 to arch/powerpc 2005-11-18 15:43:34 +11:00
of_device.c powerpc: apply recent changes to merged code 2005-10-31 13:57:01 +11:00
paca.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
pci_64.c powerpc: Merge pci.h 2005-11-19 20:46:04 +11:00
pci_direct_iommu.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
pci_dn.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
pci_iommu.c powerpc: Move most remaining ppc64 files over to arch/powerpc 2005-11-14 17:30:17 +11:00
pmc.c [PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch] 2005-10-20 16:22:24 +10:00
ppc32.h powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernel 2005-11-03 16:03:28 +11:00
ppc_ksyms.c [PATCH] PPC_PREP: remove unneeded exports 2006-01-09 14:48:47 +11:00
proc_ppc64.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
process.c powerpc: Fix bug causing FP registers corruption on UP + preempt 2005-11-30 13:20:54 +11:00
prom_init.c [PATCH] powerpc: prevent stack corruption in call_prom_ret 2005-11-30 13:55:59 +11:00
prom.c powerpc: Export a couple of prom functions 2005-11-14 17:30:40 +11:00
ptrace32.c powerpc: move include/asm-ppc64/ptrace-common.h to arch/powerpc/kernel 2005-11-19 20:47:22 +11:00
ptrace-common.h powerpc: move include/asm-ppc64/ptrace-common.h to arch/powerpc/kernel 2005-11-19 20:47:22 +11:00
ptrace.c powerpc: move include/asm-ppc64/ptrace-common.h to arch/powerpc/kernel 2005-11-19 20:47:22 +11:00
rtas_flash.c powerpc: Merge remaining RTAS code 2005-11-03 14:41:19 +11:00
rtas_pci.c [PATCH] powerpc: pci_64 fixes & cleanups 2005-11-16 13:29:46 +11:00
rtas-proc.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
rtas-rtc.c powerpc: time-of-day fixes for 32-bit CHRP systems 2005-11-18 15:52:38 +11:00
rtas.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
semaphore.c powerpc: Merge enough to start building in arch/powerpc. 2005-09-26 16:04:21 +10:00
setup_32.c powerpc: have only one definition of __irq_offset_value 2005-11-14 14:44:33 +11:00
setup_64.c [PATCH] powerpc: Set cache info defaults 2005-12-09 15:42:52 +11:00
setup-common.c [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
setup.h powerpc: create kernel/setup.h 2005-11-09 11:35:26 +11:00
signal_32.c powerpc: Fix clearing of the FPSCR when invoking a signal handler 2005-11-15 11:11:32 +11:00
signal_64.c powerpc: Fix clearing of the FPSCR when invoking a signal handler 2005-11-15 11:11:32 +11:00
smp-tbsync.c powerpc: Merge smp-tbsync.c (the generic timebase sync routine) 2005-11-04 13:28:58 +11:00
smp.c [PATCH] powerpc: More debugging fixups 2005-11-16 13:29:40 +11:00
sys_ppc32.c [PATCH] powerpc: merge code values for identifying platforms 2005-11-10 13:37:51 +11:00
syscalls.c [PATCH] arch/powerpc/kernel/syscalls.c __user annotations 2005-12-15 10:04:31 -08:00
sysfs.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
systbl.S Merge rsync://oak/kernels/iseries/work/ 2005-10-18 14:53:41 +10:00
time.c powerpc: Fix delay functions for 601 processors 2005-11-18 14:08:12 +11:00
traps.c [PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel 2005-11-11 22:25:39 +11:00
udbg_16550.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
udbg_scc.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
udbg.c [PATCH] powerpc: Move udbg code to arch/powerpc 2005-11-11 22:23:34 +11:00
vdso.c mm: re-architect the VM_UNPAGED logic 2005-11-28 14:34:23 -08:00
vecemu.c [PATCH] powerpc: Move arch/ppc*/kernel/vecemu.c to arch/powerpc 2005-09-21 19:21:07 +10:00
vector.S powerpc: Use reg.h instead of processor.h when we just want reg names 2005-10-10 22:20:10 +10:00
vio.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
vmlinux.lds.S powerpc: Fix vmlinux.lds.S for 32-bit 2005-11-05 10:36:59 +11:00