On Wed, Aug 20, 2008 at 03:39:07PM +0900, Isaku Yamahata wrote:
> [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.
Can't we just get rid of #ifdef XEN ?
And possibly even move pal.S back into xen/arc/ia64/linux/ ?
I just checked and with the patch below,
xen/arch/ia64/linux-xen/pal.S becomes the same as
arch/ia64/kernel/pal.S from linux 2.6.21.
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
diff -r 3ad6ad720f90 xen/arch/ia64/linux-xen/pal.S
--- a/xen/arch/ia64/linux-xen/pal.S Thu Aug 14 11:00:35 2008 +0900
+++ b/xen/arch/ia64/linux-xen/pal.S Wed Aug 20 16:56:26 2008 +1000
@@ -162,11 +162,7 @@
adds r8 = 1f-1b,r8 // calculate return address for call
;;
mov loc4=ar.rsc // save RSE configuration
-#ifdef XEN
- dep.z loc2=loc2,0,60 // convert pal entry point to physical
-#else // XEN
dep.z loc2=loc2,0,61 // convert pal entry point to physical
-#endif // XEN
tpa r8=r8 // convert rp to physical
;;
mov b7 = loc2 // install target to branch reg
@@ -219,11 +215,7 @@
mov loc3 = psr // save psr
;;
mov loc4=ar.rsc // save RSE configuration
-#ifdef XEN
- dep.z loc2=loc2,0,60 // convert pal entry point to physical
-#else // XEN
dep.z loc2=loc2,0,61 // convert pal entry point to physical
-#endif // XEN
;;
mov ar.rsc=0 // put RSE in enforced lazy, LE mode
movl r16=PAL_PSR_BITS_TO_CLEAR
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|