linux/arch/powerpc/kernel
Michael Ellerman 758438a7b8 [PATCH] powerpc: Fixups for kernel linked at 32 MB
There's a few places where we need to fix things up for the kernel to work
if it's linked at 32MB:

 - platforms/powermac/smp.c
   To start secondary cpus on pmac we patch the reset vector, which is fine.
   Except if we're above 32MB we don't have enough bits for an absolute branch,
   it needs to relative.
 - kernel/head_64.s
    - A few branches in the cpu hold code need to load the full target address
      and do a bctr.
    - after_prom_start needs to load PHYSICAL_START as the dest address, not 0.
    - The exception prolog needs to load the low word of the target adddress,
      not just the low halfword.
    - Fixup handling of the initial stab address.
 - kernel/setup_64.c
   smp_release_cpus() needs to write 1 to the spinloop flag near 0, not 32 MB.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-01-09 14:52:25 +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
Makefile [PATCH] powerpc: Reroute interrupts from 0 + offset to PHYSICAL_START + offset 2006-01-09 14:52:21 +11:00
align.c [PATCH] powerpc: merge align.c 2005-11-18 14:39:23 +11:00
asm-offsets.c [PATCH] powerpc: Remove some unneeded fields from the paca 2006-01-09 14:50:35 +11:00
binfmt_elf32.c ppc64: merge binfmt_elf32.c 2005-10-13 13:40:54 +10:00
btext.c [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +11: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
crash_dump.c [PATCH] powerpc: Reroute interrupts from 0 + offset to PHYSICAL_START + offset 2006-01-09 14:52:21 +11:00
dma_64.c [PATCH] powerpc: IBMEBUS bus support 2006-01-09 14:49:06 +11:00
entry_32.S [PATCH] Fix code that saves NVGPRS in 32-bit signal frame 2006-01-09 14:50:48 +11:00
entry_64.S [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +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 [PATCH] powerpc: Add back support for booting from BootX (#2) 2006-01-09 14:49:58 +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: Fixups for kernel linked at 32 MB 2006-01-09 14:52:25 +11:00
head_fsl_booke.S [PATCH] Update email address for Kumar 2005-11-13 18:14:10 -08:00
ibmebus.c [PATCH] powerpc: IBMEBUS bus support 2006-01-09 14:49:06 +11: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: reduce include in irq.c 2006-01-09 14:50:15 +11:00
kprobes.c [PATCH] kprobes: increment kprobe missed count for multiprobes 2005-12-12 08:57:45 -08:00
legacy_serial.c [PATCH] powerpc: Update OF address parsers 2006-01-09 14:51:26 +11:00
lparcfg.c powerpc: iSeries build fixes 2005-11-14 17:14:51 +11:00
lparmap.c [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +11:00
machine_kexec.c [PATCH] powerpc: Propagate regs through to machine_crash_shutdown 2006-01-09 14:51:47 +11:00
machine_kexec_32.c [PATCH] powerpc: Merge kexec 2006-01-09 14:48:52 +11:00
machine_kexec_64.c [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +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: Remove some unneeded fields from the paca 2006-01-09 14:50:35 +11:00
pci_64.c [PATCH] powerpc: fix for "Update OF address parsers" 2006-01-09 14:52:07 +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.c [PATCH] powerpc: Reroute interrupts from 0 + offset to PHYSICAL_START + offset 2006-01-09 14:52:21 +11:00
prom_init.c [PATCH] powerpc: Add a is_kernel_addr() macro 2006-01-09 14:51:50 +11:00
prom_parse.c [PATCH] powerpc: Update OF address parsers 2006-01-09 14:51:26 +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
ptrace32.c powerpc: move include/asm-ppc64/ptrace-common.h to arch/powerpc/kernel 2005-11-19 20:47:22 +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
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
semaphore.c powerpc: Merge enough to start building in arch/powerpc. 2005-09-26 16:04:21 +10:00
setup-common.c [PATCH] powerpc: Add a is_kernel_addr() macro 2006-01-09 14:51:50 +11:00
setup.h powerpc: create kernel/setup.h 2005-11-09 11:35:26 +11:00
setup_32.c [PATCH] powerpc: Unify udbg (#2) 2006-01-09 14:49:54 +11:00
setup_64.c [PATCH] powerpc: Fixups for kernel linked at 32 MB 2006-01-09 14:52:25 +11:00
signal_32.c [PATCH] Save NVGPRS in 32-bit signal frame 2006-01-09 14:50:45 +11:00
signal_64.c [PATCH] syscall entry/exit revamp 2006-01-09 14:49:01 +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: Remove some unneeded fields from the paca 2006-01-09 14:50:35 +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 [PATCH] spufs: The SPU file system, base 2006-01-09 14:49:12 +11:00
time.c [PATCH] powerpc: Remove some unneeded fields from the paca 2006-01-09 14:50:35 +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.c [PATCH] powerpc: udbg updates 2006-01-09 14:51:22 +11:00
udbg_16550.c [PATCH] powerpc: udbg updates 2006-01-09 14:51:22 +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