kernel-ark/arch/ppc64/kernel
David Gibson 533f08172e [PATCH] ppc64: dynamically allocate segment tables
PPC64 machines before Power4 need a segment table page allocated for each
CPU.  Currently these are allocated statically in a big array in head.S for
all CPUs.  The segment tables need to be in the first segment (so
do_stab_bolted doesn't take a recursive fault on the stab itself), but
other than that there are no constraints which require the stabs for the
secondary CPUs to be statically allocated.

This patch allocates segment tables dynamically during boot, using
lmb_alloc() to ensure they are within the first 256M segment.  This reduces
the kernel image size by 192k...

Tested on RS64 iSeries, POWER3 pSeries, and POWER5.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:58 -07:00
..
vdso32 [PATCH] ppc64: vdso32: fix link errors after recent toolchain changes 2005-07-07 18:23:36 -07:00
vdso64
align.c
asm-offsets.c [PATCH] ppc64 iSeries: tidy up some includes and HvCall.h 2005-06-21 18:46:28 -07:00
binfmt_elf32.c
bitops.c
bpa_iic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iic.h [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iommu.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_iommu.h [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_nvram.c [PATCH] ppc64: add a minimal nvram driver 2005-06-23 09:43:31 +10:00
bpa_setup.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
btext.c
cpu_setup_power4.S [PATCH] ppc64: add 970MP PVR 2005-07-13 11:25:25 -07:00
cputable.c [PATCH] ppc64: add 970MP PVR 2005-07-13 11:25:25 -07:00
dma.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
eeh.c [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
entry.S [PATCH] ppc64: cleanup iseries runlight support 2005-06-02 15:12:30 -07:00
head.S [PATCH] ppc64: dynamically allocate segment tables 2005-07-27 16:25:58 -07:00
HvCall.c
hvCall.S
hvconsole.c [PATCH] hvc_console: Separate the NUL character filtering from get_hvc_chars 2005-07-07 18:23:40 -07:00
hvcserver.c
HvLpConfig.c
HvLpEvent.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
i8259.c
i8259.h
idle_power4.S
idle.c [PATCH] ppc64: idle fixups 2005-07-07 18:23:41 -07:00
init_task.c
ioctl32.c
iomap.c
iommu.c [PATCH] initialize TCE tables 2005-06-20 21:43:48 +10:00
irq.c Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6 2005-06-30 08:48:56 -07:00
iSeries_htab.c [PATCH] ppc64: kill bitfields in ppc64 hash code 2005-07-13 11:25:25 -07:00
iSeries_iommu.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
iSeries_irq.c [PATCH] ppc64 iSeries: tidy up irq code after merge 2005-06-21 18:46:30 -07:00
iSeries_pci.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
iSeries_proc.c [PATCH] ppc64: Move xItLpQueue proc code into ItLpQueue.c 2005-06-30 15:08:44 +10:00
iSeries_setup.c [PATCH] ppc64: kill bitfields in ppc64 hash code 2005-07-13 11:25:25 -07:00
iSeries_setup.h
iSeries_smp.c [PATCH] ppc64 iSeries: eliminate some unused inline functions 2005-06-21 18:46:28 -07:00
iSeries_VpdInfo.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
ItLpQueue.c [PATCH] ppc64: Replace custom locking code with a spinlock 2005-06-30 15:17:02 +10:00
kprobes.c [PATCH] kprobes: fix namespace problem and sparc64 build 2005-07-05 19:19:00 -07:00
lmb.c
lparcfg.c [PATCH] ppc64: Fix compile warnings in arch/ppc64/kernel/lparcfg.c 2005-06-25 16:24:27 -07:00
LparData.c [PATCH] ppc64: Rename xItLpQueue to hvlpevent_queue 2005-06-30 15:15:32 +10:00
machine_kexec.c [PATCH] kexec code cleanup 2005-06-25 16:24:55 -07:00
Makefile [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -07:00
maple_pci.c
maple_setup.c [PATCH] ppc64: Fixup platforms for new ppc_md.idle 2005-07-07 18:23:41 -07:00
maple_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
mf.c [PATCH] ppc64: Don't count number of events processed for caller 2005-06-30 15:15:53 +10:00
misc.S [PATCH] ppc64: add ioprio syscalls 2005-07-07 18:23:37 -07:00
module.c
mpic.c [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -07:00
mpic.h [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -07:00
nvram.c [PATCH] ppc64: simplify nvram partition scanning code 2005-06-28 20:33:49 +10:00
of_device.c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
pacaData.c [PATCH] ppc64: Reorganise the paca initialisation macros 2005-06-30 15:07:48 +10:00
pci_direct_iommu.c
pci_dn.c
pci_iommu.c
pci.c [PATCH] PCI: fix-pci-mmap-on-ppc-and-ppc64.patch 2005-06-27 21:52:45 -07:00
pci.h [PATCH] pSeries - read irqs dynamically 2005-06-23 17:09:54 +10:00
pmac_feature.c
pmac_low_i2c.c
pmac_nvram.c
pmac_pci.c
pmac_setup.c [PATCH] make a few functions static in pmac_setup.c 2005-07-27 16:25:57 -07:00
pmac_smp.c [PATCH] ppc64: Fix g5 hw timebase sync 2005-05-23 11:51:24 -07:00
pmac_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
pmac.h
pmc.c
ppc_ksyms.c [PATCH] ppc64: Add missing exports 2005-06-27 15:11:43 -07:00
proc_ppc64.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
process.c [PATCH] Return probe redesign: ppc64 specific implementation 2005-06-27 15:23:53 -07:00
prom_init.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
prom.c [PATCH] ppc64: set/clear SMT capable bit at boot 2005-06-21 18:46:31 -07:00
pSeries_hvCall.S
pSeries_iommu.c
pSeries_lpar.c [PATCH] ppc64: kill bitfields in ppc64 hash code 2005-07-13 11:25:25 -07:00
pSeries_nvram.c
pSeries_pci.c [PATCH] pSeries - read irqs dynamically 2005-06-23 17:09:54 +10:00
pSeries_reconfig.c [PATCH] ppc32/ppc64: cleanup /proc/device-tree 2005-06-01 07:54:14 -07:00
pSeries_setup.c [PATCH] ppc64: pSeries idle fixups 2005-07-07 18:23:41 -07:00
pSeries_smp.c [PATCH] i386 CPU hotplug 2005-06-25 16:24:29 -07:00
ptrace32.c
ptrace.c [PATCH] ppc64: fix seccomp with 32-bit userland 2005-06-24 00:05:18 -07:00
ras.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
rtas_flash.c
rtas_pci.c [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
rtas-proc.c [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
rtas.c [PATCH] correct printing to operator panel 2005-06-23 16:09:41 +10:00
rtasd.c [PATCH] ppc64: quieten RTAS printks 2005-06-20 21:43:07 +10:00
rtc.c [PATCH] ppc64: rename pSeries rtc functions into rtas_* 2005-06-23 09:43:18 +10:00
scanlog.c
semaphore.c
setup.c [PATCH] ppc64: dynamically allocate segment tables 2005-07-27 16:25:58 -07:00
signal32.c
signal.c [PATCH] arch/ppc64: Replace custom MIN macro 2005-05-05 19:32:59 -07:00
smp-tbsync.c
smp.c [PATCH] ppc64: dynamically allocate segment tables 2005-07-27 16:25:58 -07:00
spider-pic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
sys_ppc32.c [PATCH] ppc64: add ioprio syscalls 2005-07-07 18:23:37 -07:00
syscalls.c [PATCH] ppc64: Fix PER_LINUX32 behaviour 2005-06-08 16:24:15 -07:00
sysfs.c [PATCH] ppc64: silence perfmon exception warnings 2005-07-07 18:23:42 -07:00
time.c [PATCH] ppc64: Don't count number of events processed for caller 2005-06-30 15:15:53 +10:00
traps.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
u3_iommu.c
udbg.c
vdso.c
vecemu.c
vector.S
vio.c [PATCH] ppc64: tidy up vio devices fake parent 2005-06-21 18:46:31 -07:00
viopath.c [PATCH] ppc64 iSeries: misc header cleanups 2005-06-21 18:46:28 -07:00
vmlinux.lds.S
xics.c [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -07:00