Remove the physical mode path from minstate.h.

 minstate.h |   88 ++++++++++++-------------------------------------------------
 1 files changed, 18 insertions(+), 70 deletions(-)

Index: linux/arch/ia64/kernel/minstate.h
===================================================================
--- linux.orig/arch/ia64/kernel/minstate.h      2005-08-17 14:34:38.404220401 
+1000
+++ linux/arch/ia64/kernel/minstate.h   2005-08-17 14:36:24.052711993 +1000
@@ -5,73 +5,6 @@
 #include "entry.h"
 
 /*
- * For ivt.s we want to access the stack virtually so we don't have to disable 
translation
- * on interrupts.
- *
- *  On entry:
- *     r1:     pointer to current task (ar.k6)
- */
-#define MINSTATE_START_SAVE_MIN_VIRT                                           
                \
-(pUStk)        mov ar.rsc=0;           /* set enforced lazy mode, pl 0, 
little-endian, loadrs=0 */     \
-       ;;                                                                      
                \
-(pUStk)        mov.m r24=ar.rnat;                                              
                        \
-(pUStk)        addl r22=IA64_RBS_OFFSET,r1;                    /* compute base 
of RBS */               \
-(pKStk) mov r1=sp;                                     /* get sp  */           
                \
-       ;;                                                                      
                \
-(pUStk) lfetch.fault.excl.nt1 [r22];                                           
                \
-(pUStk)        addl r1=IA64_STK_OFFSET-IA64_PT_REGS_SIZE,r1;   /* compute base 
of memory stack */      \
-(pUStk)        mov r23=ar.bspstore;                            /* save 
ar.bspstore */                  \
-       ;;                                                                      
                \
-(pUStk)        mov ar.bspstore=r22;                            /* switch to 
kernel RBS */              \
-(pKStk) addl r1=-IA64_PT_REGS_SIZE,r1;                 /* if in kernel mode, 
use sp (r12) */   \
-       ;;                                                                      
                \
-(pUStk)        mov r18=ar.bsp;                                                 
                        \
-(pUStk)        mov ar.rsc=0x3;         /* set eager mode, pl 0, little-endian, 
loadrs=0 */
-
-#define MINSTATE_END_SAVE_MIN_VIRT                                             
                \
-       bsw.1;                  /* switch back to bank 1 (must be last in insn 
group) */        \
-       ;;
-
-/*
- * For mca_asm.S we want to access the stack physically since the state is 
saved before we
- * go virtual and don't want to destroy the iip or ipsr.
- */
-#define MINSTATE_START_SAVE_MIN_PHYS                                           
                \
-(pKStk) mov r3=IA64_KR(PER_CPU_DATA);;                                         
                \
-(pKStk) addl r3=THIS_CPU(ia64_mca_data),r3;;                                   
                \
-(pKStk) ld8 r3 = [r3];;                                                        
                        \
-(pKStk) addl r3=IA64_MCA_CPU_INIT_STACK_OFFSET,r3;;                            
                \
-(pKStk) addl r1=IA64_STK_OFFSET-IA64_PT_REGS_SIZE,r3;                          
                \
-(pUStk)        mov ar.rsc=0;           /* set enforced lazy mode, pl 0, 
little-endian, loadrs=0 */     \
-(pUStk)        addl r22=IA64_RBS_OFFSET,r1;            /* compute base of 
register backing store */    \
-       ;;                                                                      
                \
-(pUStk)        mov r24=ar.rnat;                                                
                        \
-(pUStk)        addl r1=IA64_STK_OFFSET-IA64_PT_REGS_SIZE,r1;   /* compute base 
of memory stack */      \
-(pUStk)        mov r23=ar.bspstore;                            /* save 
ar.bspstore */                  \
-(pUStk)        dep r22=-1,r22,61,3;                    /* compute kernel 
virtual addr of RBS */        \
-       ;;                                                                      
                \
-(pUStk)        mov ar.bspstore=r22;                    /* switch to kernel RBS 
*/                      \
-       ;;                                                                      
                \
-(pUStk)        mov r18=ar.bsp;                                                 
                        \
-(pUStk)        mov ar.rsc=0x3;         /* set eager mode, pl 0, little-endian, 
loadrs=0 */             \
-
-#define MINSTATE_END_SAVE_MIN_PHYS                                             
                \
-       dep r12=-1,r12,61,3;            /* make sp a kernel virtual address */  
                \
-       ;;
-
-#ifdef MINSTATE_VIRT
-# define MINSTATE_GET_CURRENT(reg)     mov reg=IA64_KR(CURRENT)
-# define MINSTATE_START_SAVE_MIN       MINSTATE_START_SAVE_MIN_VIRT
-# define MINSTATE_END_SAVE_MIN         MINSTATE_END_SAVE_MIN_VIRT
-#endif
-
-#ifdef MINSTATE_PHYS
-# 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
-
-/*
  * DO_SAVE_MIN switches to the kernel stacks (if necessary) and saves
  * the minimum state necessary that allows us to turn psr.ic back
  * on.
@@ -97,7 +30,7 @@
  * we can pass interruption state as arguments to a handler.
  */
 #define DO_SAVE_MIN(COVER,SAVE_IFS,EXTRA)                                      
                \
-       MINSTATE_GET_CURRENT(r16);      /* M (or M;;I) */                       
                \
+       mov r16=IA64_KR(CURRENT);       /* M */                                 
                \
        mov r27=ar.rsc;                 /* M */                                 
                \
        mov r20=r1;                     /* A */                                 
                \
        mov r25=ar.unat;                /* M */                                 
                \
@@ -118,7 +51,21 @@
        SAVE_IFS;                                                               
                \
        cmp.eq pKStk,pUStk=r0,r17;              /* are we in kernel mode 
already? */            \
        ;;                                                                      
                \
-       MINSTATE_START_SAVE_MIN                                                 
                \
+(pUStk)        mov ar.rsc=0;           /* set enforced lazy mode, pl 0, 
little-endian, loadrs=0 */     \
+       ;;                                                                      
                \
+(pUStk)        mov.m r24=ar.rnat;                                              
                        \
+(pUStk)        addl r22=IA64_RBS_OFFSET,r1;                    /* compute base 
of RBS */               \
+(pKStk) mov r1=sp;                                     /* get sp  */           
                \
+       ;;                                                                      
                \
+(pUStk) lfetch.fault.excl.nt1 [r22];                                           
                \
+(pUStk)        addl r1=IA64_STK_OFFSET-IA64_PT_REGS_SIZE,r1;   /* compute base 
of memory stack */      \
+(pUStk)        mov r23=ar.bspstore;                            /* save 
ar.bspstore */                  \
+       ;;                                                                      
                \
+(pUStk)        mov ar.bspstore=r22;                            /* switch to 
kernel RBS */              \
+(pKStk) addl r1=-IA64_PT_REGS_SIZE,r1;                 /* if in kernel mode, 
use sp (r12) */   \
+       ;;                                                                      
                \
+(pUStk)        mov r18=ar.bsp;                                                 
                        \
+(pUStk)        mov ar.rsc=0x3;         /* set eager mode, pl 0, little-endian, 
loadrs=0 */             \
        adds r17=2*L1_CACHE_BYTES,r1;           /* really: biggest cache-line 
size */           \
        adds r16=PT(CR_IPSR),r1;                                                
                \
        ;;                                                                      
                \
@@ -181,7 +128,8 @@
        EXTRA;                                                                  
                \
        movl r1=__gp;           /* establish kernel global pointer */           
                \
        ;;                                                                      
                \
-       MINSTATE_END_SAVE_MIN
+       bsw.1;                  /* switch back to bank 1 (must be last in insn 
group) */        \
+       ;;
 
 /*
  * SAVE_REST saves the remainder of pt_regs (with psr.ic on).



-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to