From: "Andi Kleen" Minor cleanup. Move things into their include files, remove obsolete includes, fix indentation, remove obsolete special cases etc. I also added the per cpu section to asm-generic/sections.h and fixed init/main.c to use it. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton --- arch/x86_64/kernel/setup64.c | 18 ++++-------------- include/asm-generic/sections.h | 1 + include/asm-x86_64/desc.h | 1 + init/main.c | 3 +-- 4 files changed, 7 insertions(+), 16 deletions(-) diff -puN arch/x86_64/kernel/setup64.c~x86_64-some-cleanup-in-setup64c arch/x86_64/kernel/setup64.c --- devel/arch/x86_64/kernel/setup64.c~x86_64-some-cleanup-in-setup64c 2005-07-27 12:36:13.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/setup64.c 2005-07-27 12:36:13.000000000 -0700 @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -22,10 +23,8 @@ #include #include #include -#include #include -#include -#include +#include char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,}; @@ -33,11 +32,6 @@ cpumask_t cpu_initialized __cpuinitdata struct x8664_pda cpu_pda[NR_CPUS] __cacheline_aligned; -extern struct task_struct init_task; - -extern unsigned char __per_cpu_start[], __per_cpu_end[]; - -extern struct desc_ptr cpu_gdt_descr[]; struct desc_ptr idt_descr = { 256 * 16, (unsigned long) idt_table }; char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); @@ -101,7 +95,7 @@ void __init setup_per_cpu_areas(void) #endif for (i = 0; i < NR_CPUS; i++) { - unsigned char *ptr; + char *ptr; if (!NODE_DATA(cpu_to_node(i))) { printk("cpu with no node %d, num_online_nodes %d\n", @@ -190,11 +184,7 @@ void __cpuinit check_efer(void) */ void __cpuinit cpu_init (void) { -#ifdef CONFIG_SMP int cpu = stack_smp_processor_id(); -#else - int cpu = smp_processor_id(); -#endif struct tss_struct *t = &per_cpu(init_tss, cpu); unsigned long v; char *estacks = NULL; @@ -214,7 +204,7 @@ void __cpuinit cpu_init (void) printk("Initializing CPU#%d\n", cpu); - clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); + clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); /* * Initialize the per-CPU GDT with the boot GDT, diff -puN include/asm-generic/sections.h~x86_64-some-cleanup-in-setup64c include/asm-generic/sections.h --- devel/include/asm-generic/sections.h~x86_64-some-cleanup-in-setup64c 2005-07-27 12:36:13.000000000 -0700 +++ devel-akpm/include/asm-generic/sections.h 2005-07-27 12:36:13.000000000 -0700 @@ -11,5 +11,6 @@ extern char _sinittext[], _einittext[]; extern char _sextratext[] __attribute__((weak)); extern char _eextratext[] __attribute__((weak)); extern char _end[]; +extern char __per_cpu_start[], __per_cpu_end[]; #endif /* _ASM_GENERIC_SECTIONS_H_ */ diff -puN include/asm-x86_64/desc.h~x86_64-some-cleanup-in-setup64c include/asm-x86_64/desc.h --- devel/include/asm-x86_64/desc.h~x86_64-some-cleanup-in-setup64c 2005-07-27 12:36:13.000000000 -0700 +++ devel-akpm/include/asm-x86_64/desc.h 2005-07-27 12:36:13.000000000 -0700 @@ -75,6 +75,7 @@ struct desc_ptr { */ extern struct desc_struct default_ldt[]; extern struct gate_struct idt_table[]; +extern struct desc_ptr cpu_gdt_descr[]; static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist) { diff -puN init/main.c~x86_64-some-cleanup-in-setup64c init/main.c --- devel/init/main.c~x86_64-some-cleanup-in-setup64c 2005-07-27 12:36:13.000000000 -0700 +++ devel-akpm/init/main.c 2005-07-27 12:36:13.000000000 -0700 @@ -51,6 +51,7 @@ #include #include #include +#include /* * This is one of the first .c files built. Error out early @@ -323,8 +324,6 @@ static void __init setup_per_cpu_areas(v { unsigned long size, i; char *ptr; - /* Created by linker magic */ - extern char __per_cpu_start[], __per_cpu_end[]; /* Copy section for each CPU (we discard the original) */ size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES); _