Print this page
armv6: bit 2 (0x4) enables the dcache
This fixes a pretty simple typo.  Sadly, this still isn't enough to get
bcm2835 past mutex_enter.

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv6/ml/cache.s
          +++ new/usr/src/uts/armv6/ml/cache.s
↓ open down ↓ 164 lines elided ↑ open up ↑
 165  165  #else   /* __lint */
 166  166  
 167  167          ENTRY(armv6_icache_enable)
 168  168          mrc     p15, 0, r0, c1, c0, 0
 169  169          orr     r0, #0x1000
 170  170          mcr     p15, 0, r0, c1, c0, 0
 171  171          SET_SIZE(armv6_icache_enable)
 172  172  
 173  173          ENTRY(armv6_dcache_enable)
 174  174          mrc     p15, 0, r0, c1, c0, 0
 175      -        orr     r0, #0x2
      175 +        orr     r0, #0x4
 176  176          mcr     p15, 0, r0, c1, c0, 0
 177  177          SET_SIZE(armv6_dcache_enable)
 178  178  
 179  179          ENTRY(armv6_icache_disable)
 180  180          mrc     p15, 0, r0, c1, c0, 0
 181  181          bic     r0, #0x1000
 182  182          mcr     p15, 0, r0, c1, c0, 0
 183  183          SET_SIZE(armv6_icache_disable)
 184  184  
 185  185          ENTRY(armv6_dcache_disable)
 186  186          mrc     p15, 0, r0, c1, c0, 0
 187      -        bic     r0, #0x2
      187 +        bic     r0, #0x4
 188  188          mcr     p15, 0, r0, c1, c0, 0
 189  189          SET_SIZE(armv6_dcache_disable)
 190  190  
 191  191          ENTRY(armv6_icache_inval)
 192  192          mcr     p15, 0, r0, c7, c5, 0           @ Invalidate i-cache
 193  193          bx      lr
 194  194          SET_SIZE(armv6_icache_inval)
 195  195  
 196  196          ENTRY(armv6_dcache_inval)
 197  197          mcr     p15, 0, r0, c7, c6, 0           @ Invalidate d-cache
↓ open down ↓ 54 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX