Changeset c124dce3 in mainline for kernel/arch/arm32/include/barrier.h
- Timestamp:
- 2013-01-24T19:48:43Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0e63d34, b1011dae
- Parents:
- cfeb368
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/barrier.h
rcfeb368 rc124dce3 105 105 /* Available on all supported arms, 106 106 * invalidates entire ICache so the written value does not matter. */ 107 //TODO might be PL1 only on armv5 107 //TODO might be PL1 only on armv5- 108 108 #define smc_coherence(a) \ 109 109 do { \ 110 DCCMVAU_write((uint32_t)(a)); /* Writechanged memory */\111 write_barrier(); /* Wait for completion */\112 ICIALLU_write(0); /* Flush ICache */\113 inst_barrier(); /* Wait for Inst refetch */\110 DCCMVAU_write((uint32_t)(a)); /* Flush changed memory */\ 111 write_barrier(); /* Wait for completion */\ 112 ICIALLU_write(0); /* Flush ICache */\ 113 inst_barrier(); /* Wait for Inst refetch */\ 114 114 } while (0) 115 /* @note: Cache type register is not a wailable in uspace. We would need115 /* @note: Cache type register is not available in uspace. We would need 116 116 * to export the cache line value, or use syscall for uspace smc_coherence */ 117 117 #define smc_coherence_block(a, l) \
Note:
See TracChangeset
for help on using the changeset viewer.