[IA64] fix PAL call in physical mode.
Now firmware code is mapped at its own virtual address space
which is same to Linux. So the calculation from virutal
address to physical address should be same to the linux one.
In practice firmware is located in low physical address area
so that masking 60 bit instead of 61 bits doesn't make difference.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
diff -r 24a1bf51c749 xen/arch/ia64/linux-xen/pal.S
--- a/xen/arch/ia64/linux-xen/pal.S Thu Aug 07 18:22:56 2008 +0900
+++ b/xen/arch/ia64/linux-xen/pal.S Thu Aug 07 18:26:52 2008 +0900
@@ -163,8 +163,9 @@
;;
mov loc4=ar.rsc // save RSE configuration
#ifdef XEN
- dep.z loc2=loc2,0,60 // convert pal entry point to physical
-#else // XEN
+ // firmware is mapped to the address same to Linux case.
+ dep.z loc2=loc2,0,61 // convert pal entry point to physical
+#else
dep.z loc2=loc2,0,61 // convert pal entry point to physical
#endif // XEN
tpa r8=r8 // convert rp to physical
@@ -220,7 +221,8 @@
;;
mov loc4=ar.rsc // save RSE configuration
#ifdef XEN
- dep.z loc2=loc2,0,60 // convert pal entry point to physical
+ // firmware is mapped to the address same to Linux case.
+ dep.z loc2=loc2,0,61 // convert pal entry point to physical
#else // XEN
dep.z loc2=loc2,0,61 // convert pal entry point to physical
#endif // XEN
fix-phys-call.patch
Description: Text Data
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|