aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDaniel Yeisley <dan.yeisley@unisys.com>2006-02-20 21:27:54 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-20 23:00:09 -0500
commit7d4c8e56109e0799ab9fb644c08a8daf4a026675 (patch)
tree31e94080489cf7c1348dac86d0606179742555e7 /arch
parent9b0f8b040acd8dfd23860754c0d09ff4f44e2cbc (diff)
[PATCH] i386: need to pass virtual address to smp_read_mpc()
I'm seeing a kernel panic on an ES7000-600 when booting in virtual wire mode. The panic happens because smp_read_mpc() is passed a physical address, and it should be virtual. I tested the attached patch on the ES7000-600 and on a 2 cpu Dell box, and saw no problems on either. Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> Acked-by: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/mpparse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c
index 0102f3d50e57..e7609abf3796 100644
--- a/arch/i386/kernel/mpparse.c
+++ b/arch/i386/kernel/mpparse.c
@@ -710,7 +710,7 @@ void __init get_smp_config (void)
710 * Read the physical hardware table. Anything here will 710 * Read the physical hardware table. Anything here will
711 * override the defaults. 711 * override the defaults.
712 */ 712 */
713 if (!smp_read_mpc((void *)mpf->mpf_physptr)) { 713 if (!smp_read_mpc(phys_to_virt(mpf->mpf_physptr))) {
714 smp_found_config = 0; 714 smp_found_config = 0;
715 printk(KERN_ERR "BIOS bug, MP table errors detected!...\n"); 715 printk(KERN_ERR "BIOS bug, MP table errors detected!...\n");
716 printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n"); 716 printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n");