Changes in boot/arch/arm32/src/asm.S [b5a3b50:ab63b04e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/asm.S
rb5a3b50 rab63b04e 60 60 # before passing control to the copied code. 61 61 # 62 63 #if defined(MACHINE_gta02)64 65 #define CP15_C1_IC 1266 #define CP15_C1_DC 267 #define CP15_C7_SEG_SHIFT 568 #define CP15_C7_SEG_SIZE 369 #define CP15_C7_IDX_SHIFT 2670 71 # Disable I-cache and D-cache before the kernel is started.72 mrc p15, 0, r4, c1, c0, 073 bic r4, r4, #(1 << CP15_C1_DC)74 bic r4, r4, #(1 << CP15_C1_IC)75 mcr p15, 0, r4, c1, c0, 076 77 # Now clean D-cache to guarantee coherency between I-cache and D-cache.78 79 # D-cache clean and invalidate procedure.80 # See ARM920T TRM pages 2-17, 4-17.81 82 # Initialize segment83 mov r4, #084 # Initialize index85 1: mov r5, #086 2: orr r6, r4, r587 # Clean and invalidate a single line88 mcr p15, 0, r6, c7, c10, 289 # Increment index90 add r5, r5, #(1 << CP15_C7_IDX_SHIFT)91 cmp r5, #092 bne 2b93 # Increment segment94 add r4, #(1 << CP15_C7_SEG_SHIFT)95 tst r4, #(1 << (CP15_C7_SEG_SHIFT + CP15_C7_SEG_SIZE))96 beq 1b97 #endif98 99 62 mov pc, r0
Note:
See TracChangeset
for help on using the changeset viewer.