Changeset 7c3fb9b in mainline for kernel/arch/arm32/src
- Timestamp:
- 2018-05-17T08:29:01Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6ff23ff
- Parents:
- fac0ac7
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-16 17:28:17)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-17 08:29:01)
- Location:
- kernel/arch/arm32/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/cpu/cpu.c
rfac0ac7 r7c3fb9b 147 147 /* Unaligned access is supported on armv6+ */ 148 148 #if defined(PROCESSOR_ARCH_armv7_a) | defined(PROCESSOR_ARCH_armv6) 149 /* Enable unaligned access, RAZ/WI prior to armv6 149 /* 150 * Enable unaligned access, RAZ/WI prior to armv6 150 151 * switchable on armv6, RAO/WI writes on armv7, 151 152 * see ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition 152 * L.3.1 (p. 2456) */ 153 * L.3.1 (p. 2456) 154 */ 153 155 control_reg |= SCTLR_UNALIGNED_EN_FLAG; 154 /* Disable alignment checks, this turns unaligned access to undefined, 155 * unless U bit is set. */ 156 /* 157 * Disable alignment checks, this turns unaligned access to undefined, 158 * unless U bit is set. 159 */ 156 160 control_reg &= ~SCTLR_ALIGN_CHECK_EN_FLAG; 157 /* Enable caching, On arm prior to armv7 there is only one level 161 /* 162 * Enable caching, On arm prior to armv7 there is only one level 158 163 * of caches. Data cache is coherent. 159 164 * "This means that the behavior of accesses from the same observer to … … 169 174 #endif 170 175 #ifdef PROCESSOR_ARCH_armv7_a 171 /* ICache coherency is elaborated on in barrier.h. 176 /* 177 * ICache coherency is elaborated on in barrier.h. 172 178 * VIPT and PIPT caches need maintenance only on code modify, 173 179 * so it should be safe for general use. -
kernel/arch/arm32/src/exception.c
rfac0ac7 r7c3fb9b 66 66 static void install_handler(unsigned handler_addr, unsigned *vector) 67 67 { 68 /* relative address (related to exc. vector) of the word 68 /* 69 * Relative address (related to exc. vector) of the word 69 70 * where handler's address is stored 70 71 */ … … 72 73 PREFETCH_OFFSET; 73 74 74 /* make it LDR instruction and store at exception vector */75 /* Make it LDR instruction and store at exception vector */ 75 76 *vector = handler_address_ptr | LDR_OPCODE; 76 77 smc_coherence(vector); 77 78 78 /* store handler's address */79 /* Store handler's address */ 79 80 *(vector + EXC_VECTORS) = handler_addr; 80 81 -
kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c
rfac0ac7 r7c3fb9b 106 106 omap_irc_init(beagleboard.irc_addr); 107 107 108 /* Initialize timer. Use timer1, because it is in WKUP power domain 109 * (always on) and has special capabilities for precise 1ms ticks */ 108 /* 109 * Initialize timer. Use timer1, because it is in WKUP power domain 110 * (always on) and has special capabilities for precise 1ms ticks 111 */ 110 112 amdm37x_gpt_timer_ticks_init(&beagleboard.timer, 111 113 AMDM37x_GPT1_BASE_ADDRESS, AMDM37x_GPT1_SIZE, HZ); … … 161 163 } 162 164 /** amdm37x manual ch. 12.5.2 (p. 2428) places irc ack at the end 163 * of ISR. DO this to avoid strange behavior. */ 165 * of ISR. DO this to avoid strange behavior. 166 */ 164 167 omap_irc_irq_ack(beagleboard.irc_addr); 165 168 } -
kernel/arch/arm32/src/mm/page_fault.c
rfac0ac7 r7c3fb9b 153 153 } 154 154 155 /* See ARM Architecture reference manual ARMv7-A and ARMV7-R edition 156 * A5.3 (PDF p. 206) */ 155 /* 156 * See ARM Architecture reference manual ARMv7-A and ARMV7-R edition 157 * A5.3 (PDF p. 206) 158 */ 157 159 static const struct { 158 160 uint32_t mask;
Note:
See TracChangeset
for help on using the changeset viewer.