linux/arch/powerpc/include/asm
Benjamin Herrenschmidt f2f6dad6ca powerpc/iseries: Fix early init access to lppaca
The combination of commit

8154c5d22d and
93c22703ef

Broke boot on iSeries.

The problem is that iSeries very early boot code, which generates
the device-tree and runs before our normal early initializations
does need access the lppaca's very early, before the PACA array is
initialized, and in fact even before the boot PACA has been
initialized (it contains all 0's at this stage).

However, the first patch above makes that code use the new
llpaca_of(cpu) accessor, which itself is changed by the second patch to
use the PACA array.

We fix that by reverting iSeries to directly dereferencing the array. In
addition, we fix all iterators in the iSeries code to always skip CPU
whose number is above 63 which is the maximum size of that array and
the maximum number of supported CPUs on these machines.

Additionally, we make sure the boot_paca is properly initialized
in our early startup code.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-03-10 10:06:02 +11:00
..
iseries
8xx_immap.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
8253pit.h
abs_addr.h Merge commit 'gcl/next' into next 2010-08-04 10:26:03 +10:00
agp.h
asm-compat.h powerpc: Emulate most Book I instructions in emulate_step() 2010-06-22 19:40:29 +10:00
asm-offsets.h
async_tx.h
atomic.h
auxvec.h
backlight.h
bitops.h powerpc: Add support for popcnt instructions 2010-11-29 15:48:17 +11:00
bitsperlong.h
bootx.h
btext.h
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h
byteorder.h
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h powerpc: Add 64bit csum_and_copy_to_user 2010-09-02 14:07:30 +10:00
clk_interface.h
code-patching.h
compat.h Merge remote branch 'kumar/merge' into next 2010-10-13 16:18:36 +11:00
cpm1.h powerpc/cpm1: Mark micropatch code/data static and __init 2010-07-11 11:04:06 -05:00
cpm2.h
cpm.h powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) 2010-07-11 11:03:22 -05:00
cputable.h powerpc: Add support for popcnt instructions 2010-11-29 15:48:17 +11:00
cputhreads.h powerpc: Cleanup APIs for cpu/thread/core mappings 2010-11-29 15:48:19 +11:00
cputime.h taskstats: use real microsecond granularity for CPU times 2010-10-27 18:03:17 -07:00
current.h
dbdma.h
dbell.h powerpc/book3e: Resend doorbell exceptions to ourself 2010-07-09 16:11:19 +10:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
delay.h
device.h powerpc/macio: Ensure all dma routines get copied over 2010-11-29 15:48:21 +11:00
disassemble.h
div64.h
dma-mapping.h powerpc/dma: Add optional platform override of dma_set_mask() 2010-09-02 14:07:32 +10:00
dma.h
edac.h
eeh_event.h
eeh.h
elf.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
emergency-restart.h
emulated_ops.h
errno.h
exception-64e.h
exception-64s.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
fb.h
fcntl.h
feature-fixups.h powerpc: Ensure the else case of feature sections will fit 2011-01-21 14:08:33 +11:00
firmware.h powerpc: Add VPHN firmware feature 2010-11-29 15:48:22 +11:00
fixmap.h
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h powerpc/85xx: add cache-sram support 2010-10-14 00:54:38 -05:00
fsl_gtm.h
fsl_guts.h powerpc: rename immap_86xx.h to fsl_guts.h, and add 85xx support 2010-08-12 14:00:15 +01:00
fsl_lbc.h P4080/mtd: Fix the freescale lbc issue with 36bit mode 2010-10-25 15:41:04 +01:00
ftrace.h
futex.h
gpio.h
grackle.h
hardirq.h
heathrow.h
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hugetlb.h
hvcall.h powerpc: Add VPHN firmware feature 2010-11-29 15:48:22 +11:00
hvconsole.h
hvcserver.h
hw_breakpoint.h powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints 2010-06-30 13:54:58 +10:00
hw_irq.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
hydra.h Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
i8259.h
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h powerpc: fix warning when compiling immap_qe.h 2011-01-12 18:02:46 -06:00
io-defs.h
io.h
ioctl.h
ioctls.h TTY: Add tty ioctl to figure device node of the system console. 2010-12-16 16:18:28 -08:00
iommu.h
ipcbuf.h
ipic.h
irq_regs.h
irq.h Merge commit 'v2.6.35-rc6' into devicetree/next 2010-07-24 09:49:13 -06:00
irqflags.h powerpc/ppc64/tracing: Add stack frame to calls of trace_hardirqs_on/off 2011-01-21 14:08:33 +11:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h
kdump.h powerpc: Move kdump default base address to 64MB on 64bit 2010-06-15 15:02:32 +10:00
kexec.h powerpc/kexec: make masking/disabling interrupts generic 2010-10-14 00:52:46 -05:00
keylargo.h
kgdb.h kgdb,ppc: Individual register get/set for ppc 2010-10-29 13:14:42 -05:00
kmap_types.h kdb: core for kgdb back end (2 of 2) 2010-05-20 21:04:21 -05:00
kprobes.h
kvm_44x.h
kvm_asm.h KVM: PPC: Implement Level interrupts on Book3S 2010-10-24 10:52:19 +02:00
kvm_book3s_32.h KVM: PPC: Add kvm_book3s_32.h 2010-05-17 12:18:23 +03:00
kvm_book3s_64.h KVM: PPC: Add kvm_book3s_64.h 2010-05-17 12:18:21 +03:00
kvm_book3s_asm.h KVM: PPC: Use KVM_BOOK3S_HANDLER 2010-05-17 12:18:28 +03:00
kvm_book3s.h KVM: PPC: Implement correct SID mapping on Book3s_32 2010-10-24 10:52:15 +02:00
kvm_booke.h KVM: PPC: Improve indirect svcpu accessors 2010-05-17 12:18:26 +03:00
kvm_e500.h
kvm_fpu.h powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
kvm_host.h KVM: PPC: Add book3s_32 tlbie flush acceleration 2010-10-24 10:50:58 +02:00
kvm_para.h KVM: PPC: Move of include to __KERNEL__ section 2010-10-24 10:52:23 +02:00
kvm_ppc.h KVM: PPC: Implement hypervisor interface 2010-10-24 10:50:45 +02:00
kvm.h KVM: PPC: Implement Level interrupts on Book3S 2010-10-24 10:52:19 +02:00
libata-portmap.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
lppaca.h powerpc/iseries: Fix early init access to lppaca 2011-03-10 10:06:02 +11:00
lv1call.h
machdep.h powerpc/kexec: Restore ppc_md.machine_kexec 2011-03-02 14:56:48 +11:00
macio.h of/device: Replace of_device with platform_device in includes and core code 2010-07-24 09:58:21 -06:00
mc146818rtc.h
mediabay.h
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
mman.h
mmu_context.h PPC: Split context init/destroy functions 2010-05-17 12:18:20 +03:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
mmu-book3e.h powerpc/book3e: Protect complex macro args in mmu-book3e.h 2011-02-07 12:47:56 +11:00
mmu-hash32.h
mmu-hash64.h powerpc/mm: Fix vsid_scrample typo 2010-08-24 15:26:27 +10:00
mmu.h memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
mmzone.h powerpc: Add memory_hotplug_max() 2010-11-29 15:48:21 +11:00
module.h
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx_psc.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc52xx.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc5121.h powerpc/5121: shared DIU framebuffer support 2010-08-01 17:06:44 -06:00
mpc8260.h
mpic.h powerpc/cpumask: Convert mpic driver to new cpumask API 2010-05-06 18:01:46 +10:00
msgbuf.h
msi_bitmap.h
mutex.h
nvram.h powerpc/nvram: Move the log partition stuff to pseries 2010-11-30 15:37:45 +11:00
ohare.h
oprofile_impl.h
paca.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-10-21 21:19:54 -07:00
page_32.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
page_64.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
page.h powerpc: Fix pfn_valid() when memory starts at a non-zero address 2011-02-07 12:47:56 +11:00
param.h
parport.h powerpc: Correct parport interrupt parsing 2010-05-06 16:49:26 +10:00
pasemi_dma.h
pci-bridge.h of/address: merge of_address_to_resource() 2010-07-05 16:14:26 -06:00
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
percpu.h powerpc: Optimise per cpu accesses on 64bit 2010-07-09 11:28:30 +10:00
perf_event_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event_server.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event.h perf: Drop the skip argument from perf_arch_fetch_regs_caller 2010-06-08 23:31:27 +02:00
pgalloc-32.h
pgalloc-64.h powerpc/mm: Track backing pages allocated by vmemmap_populate() 2010-05-06 16:49:27 +10:00
pgalloc.h
pgtable-ppc32.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable-ppc64-4k.h
pgtable-ppc64-64k.h
pgtable-ppc64.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable.h
phyp_dump.h
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
poll.h
posix_types.h
ppc4xx.h
ppc_asm.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
ppc-opcode.h powerpc: Hardcode popcnt instructions for old assemblers 2010-12-09 15:35:30 +11:00
ppc-pci.h powerpc/pci: Fix return type of BUID_{HI,LO} macros 2010-10-13 16:19:20 +11:00
processor.h powerpc: Removing undead ifdef __KERNEL__ 2010-11-29 15:48:18 +11:00
prom.h of/address: use proper endianess in get_flags 2010-12-23 15:57:48 -07:00
ps3.h
ps3av.h
ps3fb.h
ps3gpu.h
ps3stor.h
pSeries_reconfig.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h
pte-common.h powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT 2010-10-14 00:52:55 -05:00
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h
pte-hash64.h
ptrace.h powerpc: Fix userspace build of ptrace.h 2010-07-08 18:11:46 +10:00
qe_ic.h
qe.h
reg_8xx.h
reg_booke.h powerpc/85xx: add e500 HID1 bit definition 2011-01-12 18:00:29 -06:00
reg_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
reg.h powerpc/85xx: add e500 HID1 bit definition 2011-01-12 18:00:29 -06:00
resource.h
rheap.h
rio.h
rtas.h powerpc/pseries: Export rtas_ibm_suspend_me() 2010-10-13 16:19:02 +11:00
rtc.h
rwsem.h powerpc: Make rwsem use "long" type 2010-08-24 14:41:48 +10:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h
sections.h
sembuf.h
serial.h
setjmp.h
setup.h
sfp-machine.h Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h powerpc/cpumask: Dynamically allocate cpu_sibling_map and cpu_core_map cpumasks 2010-05-06 17:41:56 +10:00
smu.h of: kill struct of_device 2010-06-28 12:41:33 -07:00
socket.h
sockios.h
sparsemem.h Revert "powerpc/mm: Bump SECTION_SIZE_BITS from 16MB to 256MB" 2010-04-13 13:54:39 +10:00
spinlock_types.h
spinlock.h
spu_csa.h
spu_info.h
spu_priv1.h
spu.h powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler 2011-01-21 14:08:36 +11:00
sstep.h
stat.h
statfs.h
string.h
suspend.h
swab.h
swiotlb.h
synch.h
syscall.h powerpc: Use correct ccr bit for syscall error status 2010-03-19 16:38:16 +11:00
syscalls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
systbl.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
system.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-10-21 21:19:54 -07:00
tce.h
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
time.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
timex.h
tlb.h
tlbflush.h
topology.h powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA 2011-01-12 10:56:29 +11:00
trace.h
tsi108_irq.h
tsi108_pci.h
tsi108.h
types.h
uaccess.h
ucc_fast.h
ucc_slow.h
ucc.h
ucontext.h
udbg.h
uic.h
unaligned.h
uninorth.h
unistd.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
user.h
vdso_datapage.h powerpc: Removing undead ifdef __KERNEL__ 2010-11-29 15:48:18 +11:00
vdso.h
vga.h
vio.h
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h