From 28ddb9e9db2917f76e182ea127bbc550a4fafbbb Mon Sep 17 00:00:00 2001 From: Vivek Goyal Date: Sat, 20 May 2006 15:00:21 -0700 Subject: [PATCH] --- yaml --- r: 26869 b: refs/heads/master c: be0d03f1c3d3612fe2b6aa451ae87a89382c9231 h: refs/heads/master i: 26867: 21c8af8977cf4f43eeb1f57a010628ad9b2b65bd v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/apic.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 78c838035154..4356a7c36640 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5daa3ba0c6a41a8bb4ba17ad8d5514172e103504 +refs/heads/master: be0d03f1c3d3612fe2b6aa451ae87a89382c9231 diff --git a/trunk/arch/i386/kernel/apic.c b/trunk/arch/i386/kernel/apic.c index 013b85df18c6..3d4b2f3d116a 100644 --- a/trunk/arch/i386/kernel/apic.c +++ b/trunk/arch/i386/kernel/apic.c @@ -1341,6 +1341,14 @@ int __init APIC_init_uniprocessor (void) connect_bsp_APIC(); + /* + * Hack: In case of kdump, after a crash, kernel might be booting + * on a cpu with non-zero lapic id. But boot_cpu_physical_apicid + * might be zero if read from MP tables. Get it from LAPIC. + */ +#ifdef CONFIG_CRASH_DUMP + boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); +#endif phys_cpu_present_map = physid_mask_of_physid(boot_cpu_physical_apicid); setup_local_APIC();