linux/arch/ia64
Tony Luck 10617bbe84 [IA64] Ensure cpu0 can access per-cpu variables in early boot code
ia64 handles per-cpu variables a litle differently from other architectures
in that it maps the physical memory allocated for each cpu at a constant
virtual address (0xffffffffffff0000). This mapping is not enabled until
the architecture specific cpu_init() function is run, which causes problems
since some generic code is run before this point. In particular when
CONFIG_PRINTK_TIME is enabled, the boot cpu will trap on the access to
per-cpu memory at the first printk() call so the boot will fail without
the kernel printing anything to the console.

Fix this by allocating percpu memory for cpu0 in the kernel data section
and doing all initialization to enable percpu access in head.S before
calling any generic code.

Other cpus must take care not to access per-cpu variables too early, but
their code path from start_secondary() to cpu_init() is all in arch/ia64

Signed-off-by: Tony Luck <tony.luck@intel.com>
2008-08-12 10:34:20 -07:00
..
configs [IA64] Update generic config 2008-08-04 15:47:25 -07:00
dig [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
hp dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
ia32 flag parameters: pipe 2008-07-24 10:47:28 -07:00
include/asm [IA64] Move include/asm-ia64 to arch/ia64/include/asm 2008-08-01 10:21:21 -07:00
kernel [IA64] Ensure cpu0 can access per-cpu variables in early boot code 2008-08-12 10:34:20 -07:00
kvm KVM: ia64: Fix irq disabling leak in error handling code 2008-07-27 11:35:32 +03:00
lib [IA64] export copy_page() to modules 2007-12-07 16:10:19 -08:00
mm [IA64] Ensure cpu0 can access per-cpu variables in early boot code 2008-08-12 10:34:20 -07:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
pci PCI: ia64: use generic pci_enable_resources() 2008-04-20 21:47:05 -07:00
scripts [IA64] don't assume that unwcheck.py is executable 2007-12-07 14:42:08 -08:00
sn [IA64] Move include/asm-ia64 to arch/ia64/include/asm 2008-08-01 10:21:21 -07:00
uv [IA64] Fix CONFIG_IA64_SGI_UV build error 2008-06-16 09:02:03 -07:00
install.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [IA64] Eliminate trailing backquote in IA64_SGI_UV 2008-08-04 11:19:35 -07:00
Kconfig.debug [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
Makefile Pull pvops into release branch 2008-07-17 10:53:37 -07:00
module.lds Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00