vserver 1.9.3
[linux-2.6.git] / arch / ia64 / kernel / minstate.h
index 540301f..b1460dc 100644 (file)
@@ -54,8 +54,7 @@
 (pUStk)        mov ar.rsc=0x3;         /* set eager mode, pl 0, little-endian, loadrs=0 */             \
 
 #define MINSTATE_END_SAVE_MIN_PHYS                                                             \
-       or r12=r12,r14;         /* make sp a kernel virtual address */                          \
-       or r13=r13,r14;         /* make `current' a kernel virtual address */                   \
+       dep r12=-1,r12,61,3;            /* make sp a kernel virtual address */                  \
        ;;
 
 #ifdef MINSTATE_VIRT
@@ -65,7 +64,7 @@
 #endif
 
 #ifdef MINSTATE_PHYS
-# define MINSTATE_GET_CURRENT(reg)     mov reg=IA64_KR(CURRENT);; dep reg=0,reg,61,3
+# define MINSTATE_GET_CURRENT(reg)     mov reg=IA64_KR(CURRENT);; tpa reg=reg
 # define MINSTATE_START_SAVE_MIN       MINSTATE_START_SAVE_MIN_PHYS
 # define MINSTATE_END_SAVE_MIN         MINSTATE_END_SAVE_MIN_PHYS
 #endif
        ;;                                                                                      \
 .mem.offset 0,0; st8.spill [r16]=r15,16;                                                       \
 .mem.offset 8,0; st8.spill [r17]=r14,16;                                                       \
-       dep r14=-1,r0,61,3;                                                                     \
        ;;                                                                                      \
 .mem.offset 0,0; st8.spill [r16]=r2,16;                                                                \
 .mem.offset 8,0; st8.spill [r17]=r3,16;                                                                \