Print this page
armv6: p15 cache functions say that value passed in should be zero

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/armv6/ml/cache.s
          +++ new/usr/src/uts/armv6/ml/cache.s
↓ open down ↓ 181 lines elided ↑ open up ↑
 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  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 +        mov     r0, #0
 192  193          mcr     p15, 0, r0, c7, c5, 0           @ Invalidate i-cache
 193  194          bx      lr
 194  195          SET_SIZE(armv6_icache_inval)
 195  196  
 196  197          ENTRY(armv6_dcache_inval)
      198 +        mov     r0, #0
 197  199          mcr     p15, 0, r0, c7, c6, 0           @ Invalidate d-cache
 198  200          ARM_DSB_INSTR(r2)
 199  201          bx      lr
 200  202          SET_SIZE(armv6_dcache_inval)
 201  203  
 202  204          ENTRY(armv6_dcache_flush)
      205 +        mov     r0, #0
 203  206          mcr     p15, 0, r0, c7, c10, 4          @ Flush d-cache
 204  207          ARM_DSB_INSTR(r2)
 205  208          bx      lr
 206  209          SET_SIZE(armv6_dcache_flush)
 207  210          
 208  211          ENTRY(armv6_text_flush_range)
 209  212          add     r1, r1, r0
 210  213          sub     r1, r1, r0
 211  214          mcrr    p15, 0, r1, r0, c5              @ Invalidate i-cache range
 212  215          mcrr    p15, 0, r1, r0, c12             @ Flush d-cache range
 213  216          ARM_DSB_INSTR(r2)
 214  217          ARM_ISB_INSTR(r2)
 215  218          bx      lr
 216  219          SET_SIZE(armv6_text_flush_range)
 217  220  
 218  221          ENTRY(armv6_text_flush)
      222 +        mov     r0, #0
 219  223          mcr     p15, 0, r0, c7, c5, 0           @ Invalidate i-cache
 220  224          mcr     p15, 0, r0, c7, c10, 4          @ Flush d-cache
 221  225          ARM_DSB_INSTR(r2)
 222  226          ARM_ISB_INSTR(r2)
 223  227          bx      lr
 224  228          SET_SIZE(armv6_text_flush)
 225  229  
 226  230  #endif
 227  231  
 228  232  #ifdef __lint
↓ open down ↓ 23 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX