linux/arch
Jeremy Fitzhardinge 6211119580 [PATCH] i386: Initialize the per-CPU data area
When a CPU is brought up, a PDA and GDT are allocated for it.  The GDT's
__KERNEL_PDA entry is pointed to the allocated PDA memory, so that all
references using this segment descriptor will refer to the PDA.

This patch rearranges CPU initialization a bit, so that the GDT/PDA are set up
as early as possible in cpu_init().  Also for secondary CPUs, GDT+PDA are
preallocated and initialized so all the secondary CPU needs to do is set up
the ldt and load %gs.  This will be important once smp_processor_id() and
current use the PDA.

In all cases, the PDA is set up in head.S, before a CPU starts running C code,
so the PDA is always available.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Zachary Amsden <zach@vmware.com>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Andi Kleen <ak@suse.de>
Cc: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Matt Tolentino <matthew.e.tolentino@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-12-07 02:14:02 +01:00
..
alpha [NET]: Alpha checksum annotations and cleanups. 2006-12-02 21:23:01 -08:00
arm Fix misc Kconfig typos 2006-11-30 05:22:59 +01:00
arm26 [PATCH] remove bogus arch-specific syscall exports 2006-10-11 11:17:07 -07:00
avr32 AVR32: Add missing return instruction in __raw_writesb 2006-11-06 14:07:16 +01:00
cris [NET]: Cris checksum annotations and cleanups. 2006-12-02 21:23:02 -08:00
frv [NET]: FRV checksum annotations. 2006-12-02 21:23:03 -08:00
h8300 [NET]: H8300 checksum annotations and cleanups. 2006-12-02 21:23:04 -08:00
i386 [PATCH] i386: Initialize the per-CPU data area 2006-12-07 02:14:02 +01:00
ia64 [NET]: IA64 checksum annotations and cleanups. 2006-12-02 21:23:05 -08:00
m32r [NET]: M32R checksum annotations and cleanups. 2006-12-02 21:23:06 -08:00
m68k [NET]: M68K checksum annotations and cleanups. 2006-12-02 21:23:07 -08:00
m68knommu [PATCH] m68knommu: remove __rom_end from 68360 startup code 2006-12-04 08:26:12 -08:00
mips [MIPS] Cleanup memory barriers for weakly ordered systems. 2006-12-04 22:43:14 +00:00
parisc [NET]: PARISC checksum annotations and cleanups. 2006-12-02 21:23:10 -08:00
powerpc [POWERPC] Add missing EXPORTS for mpc52xx support 2006-12-05 11:34:37 +11:00
ppc [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
s390 [S390] Don't use small stacks when lockdep is used. 2006-12-04 15:41:10 +01:00
sh [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
sh64 [NET]: SH64 checksum annotations and cleanups. 2006-12-02 21:23:11 -08:00
sparc Fix misc Kconfig typos 2006-11-30 05:22:59 +01:00
sparc64 PCI: Use pci_generic_prep_mwi on sparc64 2006-12-01 14:36:57 -08:00
um [NET]: UML checksum annotations and cleanups. 2006-12-02 21:23:12 -08:00
v850 [NET]: V850 checksum annotations and cleanups. 2006-12-02 21:23:13 -08:00
x86_64 [PATCH] x86-64: miscellaneous entry.S adjustments 2006-12-07 02:14:02 +01:00
xtensa [PATCH] vmlinux.lds: consolidate initcall sections 2006-10-27 15:34:51 -07:00