linux/arch/i386/kernel/cpu
Jeremy Fitzhardinge 7c3576d261 [PATCH] i386: Convert PDA into the percpu section
Currently x86 (similar to x84-64) has a special per-cpu structure
called "i386_pda" which can be easily and efficiently referenced via
the %fs register.  An ELF section is more flexible than a structure,
allowing any piece of code to use this area.  Indeed, such a section
already exists: the per-cpu area.

So this patch:
(1) Removes the PDA and uses per-cpu variables for each current member.
(2) Replaces the __KERNEL_PDA segment with __KERNEL_PERCPU.
(3) Creates a per-cpu mirror of __per_cpu_offset called this_cpu_off, which
    can be used to calculate addresses for this CPU's variables.
(4) Simplifies startup, because %fs doesn't need to be loaded with a
    special segment at early boot; it can be deferred until the first
    percpu area is allocated (or never for UP).

The result is less code and one less x86-specific concept.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@suse.de>
2007-05-02 19:27:16 +02:00
..
cpufreq Longhaul - Revert ACPI C3 on Longhaul ver. 2 2007-04-20 22:56:29 -07:00
mcheck [PATCH] i386: Enable bank 0 on non K7 Athlon 2007-05-02 19:27:12 +02:00
mtrr [PATCH] i386: mtrr range check correction 2007-05-02 19:27:05 +02:00
amd.c [PATCH] x86: Don't use MWAIT on AMD Family 10 2007-05-02 19:27:12 +02:00
bugs.c [PATCH] i386: Clean up asm-i386/bugs.h 2007-05-02 19:27:12 +02:00
centaur.c [PATCH] i386: mark cpu cache functions as __cpuinit 2006-09-26 10:52:36 +02:00
common.c [PATCH] i386: Convert PDA into the percpu section 2007-05-02 19:27:16 +02:00
cpu.h [PATCH] i386: remove redundant generic_identify() calls when identifying cpus 2006-09-26 10:52:36 +02:00
cyrix.c [PATCH] x86: Log reason why TSC was marked unstable 2007-05-02 19:27:08 +02:00
intel_cacheinfo.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
intel.c [PATCH] i386: i386 add Intel BTS cpufeature bit and detection (take 2) 2006-12-07 02:14:11 +01:00
Makefile [PATCH] i386: Clean up asm-i386/bugs.h 2007-05-02 19:27:12 +02:00
nexgen.c [PATCH] i386: mark cpu identify functions as __cpuinit 2006-09-26 10:52:36 +02:00
proc.c [PATCH] x86: remove constant_tsc reporting from /proc/cpuinfo' power flags 2007-05-02 19:27:09 +02:00
rise.c [PATCH] i386: mark cpu init functions as __cpuinit, data as __cpuinitdata 2006-09-26 10:52:36 +02:00
transmeta.c [PATCH] i386: Fix warning in cpu initialization 2007-02-13 13:26:25 +01:00
umc.c [PATCH] i386: mark cpu init functions as __cpuinit, data as __cpuinitdata 2006-09-26 10:52:36 +02:00