virt_to_maddr fix
The significant 8 bits of va are used by Xen,
such as 0xf2 is used as uncache mapping.

In function ioports_permit_access,
 mach_start = mmio_start | __pa(space->mmio_base);
Mach_start gets wrong physical address.

Signed-off-by; Anthony Xu < [EMAIL PROTECTED] >


Anthony

diff -r c2fc4d26ef18 xen/include/asm-ia64/xenpage.h
--- a/xen/include/asm-ia64/xenpage.h    Fri Oct 10 12:06:46 2008 +0900
+++ b/xen/include/asm-ia64/xenpage.h    Mon Oct 13 13:44:05 2008 +0800
@@ -23,7 +23,7 @@
        if (va - KERNEL_START < xenheap_size)
                return xen_pstart + (va - KERNEL_START);
        else
-               return (va & ((1UL << 60) - 1));
+               return (va & ((1UL << 56) - 1));
 }

 #define virt_to_maddr(va)      (__virt_to_maddr((unsigned long)va))

Attachment: virt_to_maddr_fix.patch
Description: virt_to_maddr_fix.patch

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to