Commit 7d4c8e56 authored by Daniel Yeisley's avatar Daniel Yeisley Committed by Linus Torvalds

[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: default avatarDan Yeisley <dan.yeisley@unisys.com>
Acked-by: default avatarAndi Kleen <ak@muc.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9b0f8b04
...@@ -710,7 +710,7 @@ void __init get_smp_config (void) ...@@ -710,7 +710,7 @@ void __init get_smp_config (void)
* Read the physical hardware table. Anything here will * Read the physical hardware table. Anything here will
* override the defaults. * override the defaults.
*/ */
if (!smp_read_mpc((void *)mpf->mpf_physptr)) { if (!smp_read_mpc(phys_to_virt(mpf->mpf_physptr))) {
smp_found_config = 0; smp_found_config = 0;
printk(KERN_ERR "BIOS bug, MP table errors detected!...\n"); printk(KERN_ERR "BIOS bug, MP table errors detected!...\n");
printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n"); printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment