Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [patch] i386 need to pass virtual address to smp_read_mpc() | Date | Fri, 17 Feb 2006 21:34:24 +0100 |
| |
On Friday 17 February 2006 21:24, Daniel Yeisley wrote: > 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.
Looks obviously correct. Should probably be in 2.6.16
-Andi
> > Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> > --- > > diff -Naur -p linux-2.6.16-rc1-git3-7/arch/i386/kernel/mpparse.c linux-2.6.16-rc1-git3-7-a/arch/i386/kernel/mpparse.c > --- linux-2.6.16-rc1-git3-7/arch/i386/kernel/mpparse.c 2006-01-30 18:38:18.000000000 -0500 > +++ linux-2.6.16-rc1-git3-7-a/arch/i386/kernel/mpparse.c 2006-02-16 04:51:35.551014272 -0500 > @@ -710,7 +710,7 @@ void __init get_smp_config (void) > * Read the physical hardware table. Anything here will > * 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; > printk(KERN_ERR "BIOS bug, MP table errors detected!...\n"); > printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n"); > > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |