diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:21 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:46 -0400 |
commit | daab7fc734a53fdeaf844b7c03053118ad1769da (patch) | |
tree | 575deb3cdcc6dda562acaed6f7c29bc81ae01cf2 /arch/x86/kernel/mpparse.c | |
parent | 774ea0bcb27f57b6fd521b3b6c43237782fed4b9 (diff) | |
parent | 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff) |
Merge commit 'v2.6.36-rc3' into x86/memblock
Conflicts:
arch/x86/kernel/trampoline.c
mm/memblock.c
Merge reason: Resolve the conflicts, update to latest upstream.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/mpparse.c')
-rw-r--r-- | arch/x86/kernel/mpparse.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 8252545ae6f3..9af64d9c4b67 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c | |||
@@ -275,6 +275,18 @@ static void __init smp_dump_mptable(struct mpc_table *mpc, unsigned char *mpt) | |||
275 | 275 | ||
276 | void __init default_smp_read_mpc_oem(struct mpc_table *mpc) { } | 276 | void __init default_smp_read_mpc_oem(struct mpc_table *mpc) { } |
277 | 277 | ||
278 | static void __init smp_register_lapic_address(unsigned long address) | ||
279 | { | ||
280 | mp_lapic_addr = address; | ||
281 | |||
282 | set_fixmap_nocache(FIX_APIC_BASE, address); | ||
283 | if (boot_cpu_physical_apicid == -1U) { | ||
284 | boot_cpu_physical_apicid = read_apic_id(); | ||
285 | apic_version[boot_cpu_physical_apicid] = | ||
286 | GET_APIC_VERSION(apic_read(APIC_LVR)); | ||
287 | } | ||
288 | } | ||
289 | |||
278 | static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) | 290 | static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) |
279 | { | 291 | { |
280 | char str[16]; | 292 | char str[16]; |
@@ -296,6 +308,10 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) | |||
296 | if (early) | 308 | if (early) |
297 | return 1; | 309 | return 1; |
298 | 310 | ||
311 | /* Initialize the lapic mapping */ | ||
312 | if (!acpi_lapic) | ||
313 | smp_register_lapic_address(mpc->lapic); | ||
314 | |||
299 | if (mpc->oemptr) | 315 | if (mpc->oemptr) |
300 | x86_init.mpparse.smp_read_mpc_oem(mpc); | 316 | x86_init.mpparse.smp_read_mpc_oem(mpc); |
301 | 317 | ||