Changes in boot/arch/arm32/src/asm.S [e93bb24:73b3ecd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/asm.S
re93bb24 r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 29 30 #include <arch/arch.h> 30 31 31 32 .section BOOTSTRAP 32 33 33 .global start 34 .global boot_pt 35 .global boot_stack 36 .global halt 37 .global jump_to_kernel 38 39 start: 34 SYMBOL(start) 40 35 ldr sp, =boot_stack 41 36 b bootstrap 42 37 43 38 .section BOOTPT 44 boot_pt: 39 SYMBOL(boot_pt) 45 40 .space PTL0_ENTRIES * PTL0_ENTRY_SIZE 46 41 47 42 .section BOOTSTACK 48 43 .space 4096 49 boot_stack: 44 SYMBOL(boot_stack) 50 45 51 46 .text 52 47 53 halt: 48 FUNCTION_BEGIN(halt) 54 49 b halt 50 FUNCTION_END(halt) 55 51 56 jump_to_kernel: 52 FUNCTION_BEGIN(jump_to_kernel) 57 53 # 58 54 # Make sure that the I-cache, D-cache and memory are mutually coherent … … 75 71 bic r4, r4, #(1 << CP15_C1_DC) 76 72 77 # Disable I-cache and Branch epredictors.73 # Disable I-cache and Branch predictors. 78 74 bic r4, r4, #(1 << CP15_C1_IC) 75 #ifdef PROCESSOR_ARCH_armv6 79 76 bic r4, r4, #(1 << CP15_C1_BP) 77 #endif 80 78 81 79 mcr p15, 0, r4, c1, c0, 0 82 80 #endif 83 84 85 81 86 # Wait for the operations to complete82 # Wait for the operations to complete 87 83 #ifdef PROCESSOR_ARCH_armv7_a 88 84 dsb 89 85 #else 90 # cp15 dsb, r4 is ignored (should be zero)86 # cp15 dsb, r4 is ignored (should be zero) 91 87 mov r4, #0 92 88 mcr p15, 0, r4, c7, c10, 4 … … 98 94 nop 99 95 100 # Wait for the operations to complete96 # Wait for the operations to complete 101 97 #ifdef PROCESSOR_ARCH_armv7_a 102 98 isb 103 99 nop 104 #el se100 #elif defined(PROCESSOR_ARCH_armv6) 105 101 # cp15 isb 106 102 mcr p15, 0, r4, c7, c5, 4 … … 108 104 #endif 109 105 mov pc, r0 106 FUNCTION_END(jump_to_kernel) 107
Note:
See TracChangeset
for help on using the changeset viewer.