|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-merge
[Xen-merge] Odd diff in mpparse.c
 
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.
Later down there's this:
-       unsigned long *bp = phys_to_virt(base);
+       unsigned long *bp = isa_bus_to_virt(base);
which makes rather more sense to me. If anyone can make more sense of that
bit than me, would help to slap me with it.
Thanks,
M.
_______________________________________________
Xen-merge mailing list
Xen-merge@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-merge
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-merge] Odd diff in mpparse.c,
Martin J. Bligh <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |