Changeset b51b1cd in mainline
- Timestamp:
- 2012-09-06T12:53:22Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c6b601b
- Parents:
- 504f1756
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/exception.c
r504f1756 rb51b1cd 130 130 * the normal vectors or the high vectors are to be used from 131 131 * reset." ARM Architecture Reference Manual A2.6.11 (p. 64 in the PDF). 132 * 133 * ARM920T (gta02) TRM A2.3.5 (PDF p. 36) and ARM926EJ-S (icp) 2.3.2 (PDF p. 42) 134 * say that armv4 an armv5 chips that we support implement this. 132 135 */ 133 136 static void high_vectors(void) 134 137 { 135 138 uint32_t control_reg = 0; 136 // TODO CHeck the armv6 way and implement it137 #if defined(PROCESSOR_armv7_a) | defined(ROCESSOR_armv6)138 139 asm volatile ( 139 140 "mrc p15, 0, %[control_reg], c1, c0" 140 141 : [control_reg] "=r" (control_reg) 141 142 ); 142 #elif defined(PROCESSOR_armv4) | defined(PROCESSOR_armv5)143 asm volatile (144 "mrc p15, 0, %[control_reg], c1, c0"145 : [control_reg] "=r" (control_reg)146 );147 #endif148 143 149 144 /* switch on the high vectors bit */ 150 145 control_reg |= CP15_R1_HIGH_VECTORS_BIT; 151 146 152 #if defined(PROCESSOR_armv7_a) | defined(ROCESSOR_armv6)153 147 asm volatile ( 154 148 "mcr p15, 0, %[control_reg], c1, c0" 155 149 :: [control_reg] "r" (control_reg) 156 150 ); 157 #elif defined(PROCESSOR_armv4) | defined(PROCESSOR_armv5)158 asm volatile (159 "mcr p15, 0, %[control_reg], c1, c0"160 :: [control_reg] "r" (control_reg)161 );162 #endif163 151 } 164 152 #endif
Note:
See TracChangeset
for help on using the changeset viewer.