Print this page
cpuid for ARMv7

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv7/ml/cpuid_ml.s
          +++ new/usr/src/uts/armv7/ml/cpuid_ml.s
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17  
  18   18  /*
  19   19   * Read cpuid values from coprocessors
  20   20   */
  21   21  
  22   22  #include <sys/asm_linkage.h>
  23   23  
  24   24  #if defined(lint) || defined(__lint)
  25   25  
  26   26  uint32_t
  27      -arm_cpuid_idreg()
       27 +arm_cpuid_midr()
  28   28  {}
  29   29  
  30   30  uint32_t
  31   31  arm_cpuid_pfr0()
  32   32  {}
  33   33  
  34   34  uint32_t
  35   35  arm_cpuid_pfr1()
  36   36  {}
  37   37  
↓ open down ↓ 46 lines elided ↑ open up ↑
  84   84  {}
  85   85  
  86   86  uint32_t
  87   87  arm_cpuid_mvfr0()
  88   88  {}
  89   89  
  90   90  uint32_t
  91   91  arm_cpuid_mvfr1()
  92   92  {}
  93   93  
  94      -uint32_t
  95      -arm_cpuid_ctr()
  96      -{}
  97      -
  98   94  #else   /* __lint */
  99   95  
 100      -        ENTRY(arm_cpuid_idreg)
       96 +        ENTRY(arm_cpuid_midr)
 101   97          mrc     p15, 0, r0, c0, c0, 0
 102   98          bx      lr
 103      -        SET_SIZE(arm_cpuid_idreg)
       99 +        SET_SIZE(arm_cpuid_midr)
 104  100  
 105  101          ENTRY(arm_cpuid_pfr0)
 106  102          mrc     p15, 0, r0, c0, c1, 0
 107  103          bx      lr
 108  104          SET_SIZE(arm_cpuid_pfr0)
 109  105  
 110  106          ENTRY(arm_cpuid_pfr1)
 111  107          mrc     p15, 0, r0, c0, c1, 1
 112  108          bx      lr
 113  109          SET_SIZE(arm_cpuid_pfr1)
↓ open down ↓ 60 lines elided ↑ open up ↑
 174  170  
 175  171          ENTRY(arm_cpuid_mvfr0)
 176  172          vmrs    r0, MVFR0
 177  173          bx      lr
 178  174          SET_SIZE(arm_cpuid_mvfr0)
 179  175  
 180  176          ENTRY(arm_cpuid_mvfr1)
 181  177          vmrs    r0, MVFR1
 182  178          bx      lr
 183  179          SET_SIZE(arm_cpuid_mvfr1)
      180 +#endif /* __lint */
 184  181  
 185      -        ENTRY(arm_cpuid_ctr)
 186      -        mrc     p15, 0, r0, c0, c0, 1
      182 +        ENTRY(arm_cpuid_clidr)
      183 +        mrc     p15, 1, r0, c0, c0, 1
 187  184          bx      lr
 188      -        SET_SIZE(arm_cpuid_ctr)
 189      -#endif /* __lint */
      185 +        SET_SIZE(arm_cpuid_clidr)
      186 +
      187 +        ENTRY(arm_cpuid_ccsidr)
      188 +        lsl     r0, r0, #1
      189 +        cmp     r1, #0                          /* icache == B_FALSE */
      190 +        orrne   r0, r0, #1
      191 +        mcr     p15, 2, r0, c0, c0, 0           /* write CSSELR */
      192 +        mrc     p15, 1, r0, c0, c0, 0           /* read selected CCSIDR */
      193 +        bx      lr
      194 +        SET_SIZE(arm_cpuid_ccsidr)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX