x86: make pda a percpu variable
[ Based on original patch from Christoph Lameter and Mike Travis. ] As pda is now allocated in percpu area, it can easily be made a proper percpu variable. Make it so by defining per cpu symbol from linker script and declaring it in C code for SMP and simply defining it for UP. This change cleans up code and brings SMP and UP closer a bit. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@ -26,18 +26,8 @@
|
||||
#include <asm/bios_ebda.h>
|
||||
#include <asm/trampoline.h>
|
||||
|
||||
#ifndef CONFIG_SMP
|
||||
/* boot cpu pda, referenced by head_64.S to initialize %gs on UP */
|
||||
struct x8664_pda _boot_cpu_pda;
|
||||
#endif
|
||||
|
||||
void __init x86_64_init_pda(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
cpu_pda(0) = (void *)__per_cpu_load;
|
||||
#else
|
||||
cpu_pda(0) = &_boot_cpu_pda;
|
||||
#endif
|
||||
pda_init(0);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user