diff options
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r-- | arch/i386/kernel/smpboot.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 020d873b7d21..82b26d5ce476 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -102,6 +102,8 @@ u8 x86_cpu_to_apicid[NR_CPUS] __read_mostly = | |||
102 | { [0 ... NR_CPUS-1] = 0xff }; | 102 | { [0 ... NR_CPUS-1] = 0xff }; |
103 | EXPORT_SYMBOL(x86_cpu_to_apicid); | 103 | EXPORT_SYMBOL(x86_cpu_to_apicid); |
104 | 104 | ||
105 | u8 apicid_2_node[MAX_APICID]; | ||
106 | |||
105 | /* | 107 | /* |
106 | * Trampoline 80x86 program as an array. | 108 | * Trampoline 80x86 program as an array. |
107 | */ | 109 | */ |
@@ -645,7 +647,7 @@ static void map_cpu_to_logical_apicid(void) | |||
645 | { | 647 | { |
646 | int cpu = smp_processor_id(); | 648 | int cpu = smp_processor_id(); |
647 | int apicid = logical_smp_processor_id(); | 649 | int apicid = logical_smp_processor_id(); |
648 | int node = apicid_to_node(apicid); | 650 | int node = apicid_to_node(hard_smp_processor_id()); |
649 | 651 | ||
650 | if (!node_online(node)) | 652 | if (!node_online(node)) |
651 | node = first_online_node; | 653 | node = first_online_node; |
@@ -954,6 +956,7 @@ static int __devinit do_boot_cpu(int apicid, int cpu) | |||
954 | 956 | ||
955 | irq_ctx_init(cpu); | 957 | irq_ctx_init(cpu); |
956 | 958 | ||
959 | x86_cpu_to_apicid[cpu] = apicid; | ||
957 | /* | 960 | /* |
958 | * This grunge runs the startup process for | 961 | * This grunge runs the startup process for |
959 | * the targeted processor. | 962 | * the targeted processor. |