Changeset bfb6576 in mainline for boot/arch/arm32/src/asm.S
- Timestamp:
- 2013-01-23T00:12:15Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b80d132
- Parents:
- c19808fd
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/asm.S
rc19808fd rbfb6576 66 66 # r2 is a kernel text end 67 67 68 # make sure kernel is flushed and available in memory69 # Disable I-cache and D-cache before the kernel is started.70 # TODO disabling DCache should not be necessary...71 #define CP15_C1_IC 1272 #define CP15_C1_DC 273 mrc p15, 0, r4, c1, c0, 074 bic r4, r4, #(1 << CP15_C1_DC)75 bic r4, r4, #(1 << CP15_C1_IC)76 mcr p15, 0, r4, c1, c0, 077 78 # use r4 as a moving pointer79 mov r4, r080 3:81 # DCCMVAC (flush by virt address, to the point of coherence)82 mcr p15, 0, r4, c7, c10, 183 # TODO: it would be better to use cacheline size84 add r4, r4, #485 # are we there yet?86 cmp r4, r287 blt 3b88 nop89 mov r4, #090 68 91 69 #Wait for the operations to complete … … 99 77 # Clean ICache and BPredictors, r4 ignored (SBZ) 100 78 mcr p15, 0, r4, c7, c5, 0 79 nop 101 80 102 81 #Wait for the operations to complete 103 82 #ifdef PROCESSOR_ARCH_armv7_a 104 83 isb 84 nop 105 85 #else 106 86 # cp15 isb 107 87 mcr p15, 0, r4, c7, c5, 4 88 nop 108 89 #endif 109 90
Note:
See TracChangeset
for help on using the changeset viewer.