diff options
author | Yinghai Lu <Yinghai.Lu@Sun.COM> | 2008-02-19 03:21:06 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 17:40:58 +0200 |
commit | 8643f9d02a7bb9db74634b4c062d8e70ce7c59b9 (patch) | |
tree | f7d31205f8a9ea6e1c9551cbc0d160072c33f112 /include/asm-x86/mpspec.h | |
parent | 6079d2d5d11122eb52721f0f3c828952a490e6c1 (diff) | |
download | op-kernel-dev-8643f9d02a7bb9db74634b4c062d8e70ce7c59b9.zip op-kernel-dev-8643f9d02a7bb9db74634b4c062d8e70ce7c59b9.tar.gz |
x86: get boot_cpu_id as early for k8_scan_nodes
When acpi=off or there is no SRAT defined, apicid_to_node is got from K8
Northbridge PCI configuration space in k8_scan_nodes() in
arch/x86_64/mm/k8toplogy.c.
The problem is that it assumes bsp apic id is 0 at that point.
For four socket system with Quad core cpus installed, all cpus apic id
is offset by 4, and bsp apic id is 4.
For eight socket system with dual core cpus installed, all cpus apic id
is offset by 2, and bsp apic id is 2.
We need get boot_cpu_id --- bsp apic id, before k8_scan_nodes by called.
So create early_acpi_boot_init and early_get_smp_config for get boot_cpu_id.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/mpspec.h')
-rw-r--r-- | include/asm-x86/mpspec.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h index dbd63f8..982550b 100644 --- a/include/asm-x86/mpspec.h +++ b/include/asm-x86/mpspec.h @@ -25,6 +25,9 @@ extern int pic_mode; extern DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES); +extern void early_find_smp_config(void); +extern void early_get_smp_config(void); + #endif extern int mp_bus_id_to_pci_bus[MAX_MP_BUSSES]; |