Print this page
armv6: simplify highvecs enabling code
Use the barrel shifter, Luke.

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv6/ml/glocore.s
          +++ new/usr/src/uts/armv6/ml/glocore.s
↓ open down ↓ 78 lines elided ↑ open up ↑
  79   79          cps     #(CPU_MODE_ABT)
  80   80          mov     sp, #-1
  81   81          cps     #(CPU_MODE_FIQ)
  82   82          mov     sp, #-1
  83   83          cps     #(CPU_MODE_IRQ)
  84   84          mov     sp, #-1
  85   85          cps     #(CPU_MODE_SVC)
  86   86  
  87   87          /* Enable highvecs (moves the base of the exception vector) */
  88   88          mrc     p15, 0, r3, c1, c0, 0
  89      -        mov     r4, #1
  90      -        lsl     r4, r4, #13
  91      -        orr     r3, r3, r4
       89 +        orr     r3, r3, #(1 << 13)
  92   90          mcr     p15, 0, r3, c1, c0, 0
  93   91  
  94   92          /* invoke machine specific setup */
  95   93          bl      _mach_start
  96   94  
  97   95          bl      _fakebop_start
  98   96          SET_SIZE(_start)
  99   97  
 100   98  
 101   99  #if defined(__lint)
↓ open down ↓ 107 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX