diff options
author | travis@sgi.com <travis@sgi.com> | 2008-01-30 13:33:11 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:11 +0100 |
commit | 3b41908902df1dba141cd7de1a727bb03718a654 (patch) | |
tree | 988d687ff1a2636bcca32cb303d58421e0aa7926 /arch | |
parent | 30964d54e94229f567a7312a0e6666f9deb6a488 (diff) | |
download | kernel_samsung_smdk4412-3b41908902df1dba141cd7de1a727bb03718a654.zip kernel_samsung_smdk4412-3b41908902df1dba141cd7de1a727bb03718a654.tar.gz kernel_samsung_smdk4412-3b41908902df1dba141cd7de1a727bb03718a654.tar.bz2 |
x86: cleanup x86_cpu_to_apicid references
Clean up references to x86_cpu_to_apicid. Removes extraneous
comments and standardizes on "x86_*_early_ptr" for the early
kernel init references.
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/genapic_64.c | 11 | ||||
-rw-r--r-- | arch/x86/kernel/mpparse_64.c | 11 | ||||
-rw-r--r-- | arch/x86/kernel/setup_64.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_32.c | 9 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_64.c | 16 |
5 files changed, 17 insertions, 32 deletions
diff --git a/arch/x86/kernel/genapic_64.c b/arch/x86/kernel/genapic_64.c index ac2b78f..4ae7b64 100644 --- a/arch/x86/kernel/genapic_64.c +++ b/arch/x86/kernel/genapic_64.c @@ -24,17 +24,10 @@ #include <acpi/acpi_bus.h> #endif -/* - * which logical CPU number maps to which CPU (physical APIC ID) - * - * The following static array is used during kernel startup - * and the x86_cpu_to_apicid_ptr contains the address of the - * array during this time. Is it zeroed when the per_cpu - * data area is removed. - */ +/* which logical CPU number maps to which CPU (physical APIC ID) */ u16 x86_cpu_to_apicid_init[NR_CPUS] __initdata = { [0 ... NR_CPUS-1] = BAD_APICID }; -void *x86_cpu_to_apicid_ptr; +void *x86_cpu_to_apicid_early_ptr; DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID; EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c index 17d21e5..528ad96 100644 --- a/arch/x86/kernel/mpparse_64.c +++ b/arch/x86/kernel/mpparse_64.c @@ -125,14 +125,9 @@ static void __cpuinit MP_processor_info(struct mpc_config_processor *m) cpu = 0; } bios_cpu_apicid[cpu] = m->mpc_apicid; - /* - * We get called early in the the start_kernel initialization - * process when the per_cpu data area is not yet setup, so we - * use a static array that is removed after the per_cpu data - * area is created. - */ - if (x86_cpu_to_apicid_ptr) { - u16 *x86_cpu_to_apicid = (u16 *)x86_cpu_to_apicid_ptr; + /* are we being called early in kernel startup? */ + if (x86_cpu_to_apicid_early_ptr) { + u16 *x86_cpu_to_apicid = (u16 *)x86_cpu_to_apicid_early_ptr; x86_cpu_to_apicid[cpu] = m->mpc_apicid; } else { per_cpu(x86_cpu_to_apicid, cpu) = m->mpc_apicid; diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 12bad27..e2beb4c 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c @@ -360,7 +360,7 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_SMP /* setup to use the static apicid table during kernel startup */ - x86_cpu_to_apicid_ptr = (void *)&x86_cpu_to_apicid_init; + x86_cpu_to_apicid_early_ptr = (void *)&x86_cpu_to_apicid_init; #endif #ifdef CONFIG_ACPI diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 2034332..915ec62 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c @@ -91,15 +91,10 @@ static cpumask_t smp_commenced_mask; DEFINE_PER_CPU_SHARED_ALIGNED(struct cpuinfo_x86, cpu_info); EXPORT_PER_CPU_SYMBOL(cpu_info); -/* - * The following static array is used during kernel startup - * and the x86_cpu_to_apicid_ptr contains the address of the - * array during this time. Is it zeroed when the per_cpu - * data area is removed. - */ +/* which logical CPU number maps to which CPU (physical APIC ID) */ u8 x86_cpu_to_apicid_init[NR_CPUS] __initdata = { [0 ... NR_CPUS-1] = BAD_APICID }; -void *x86_cpu_to_apicid_ptr; +void *x86_cpu_to_apicid_early_ptr; DEFINE_PER_CPU(u8, x86_cpu_to_apicid) = BAD_APICID; EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c index 50e207a..a2076b5 100644 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c @@ -852,23 +852,25 @@ static int __init smp_sanity_check(unsigned max_cpus) } /* - * Copy apicid's found by MP_processor_info from initial array to the per cpu - * data area. The x86_cpu_to_apicid_init array is then expendable and the - * x86_cpu_to_apicid_ptr is zeroed indicating that the static array is no - * longer available. + * Copy data used in early init routines from the initial arrays to the + * per cpu data areas. These arrays then become expendable and the + * *_ptrs are zeroed indicating that the static arrays are gone. */ void __init smp_set_apicids(void) { int cpu; - for_each_cpu_mask(cpu, cpu_possible_map) { + for_each_possible_cpu(cpu) { if (per_cpu_offset(cpu)) per_cpu(x86_cpu_to_apicid, cpu) = x86_cpu_to_apicid_init[cpu]; + else + printk(KERN_NOTICE "per_cpu_offset zero for cpu %d\n", + cpu); } - /* indicate the static array will be going away soon */ - x86_cpu_to_apicid_ptr = NULL; + /* indicate the early static arrays are gone */ + x86_cpu_to_apicid_early_ptr = NULL; } static void __init smp_cpu_index_default(void) |