|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-merge
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
 | 
 |  | 
  
    |  |  |