[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-merge] Odd diff in mpparse.c



Martin J. Bligh wrote:
Maybe it's just too late to be piddling around with this still .. but ...

I don't understand this diff section:


@@ -690,7 +697,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(isa_bus_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 h
w vendor)\n");


That's going from the standard to the xen base. Obvious thing is to just abstract out isa_bus_to_virt, etc. But ...How the hell was
that working in teh first plae, seems like we're passing a phys ptr
into something that's expecting a virtual address ???? The xen version
looks fine, it's the original that worries me.

The original code takes advantage of a direct mapping (phys = virtual) that goes away in later stages of booting.

        -Arun

_______________________________________________
Xen-merge mailing list
Xen-merge@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-merge


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.