Changeset 005b765 in mainline for kernel/arch/arm32/include/asm.h
- Timestamp:
- 2013-01-24T22:07:06Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 03362fbd, 3acd1bb, d59c046
- Parents:
- 6218d4b (diff), 24bead17 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/asm.h
r6218d4b r005b765 43 43 #include <trace.h> 44 44 45 /** No such instruction on old ARM to sleep CPU.45 /** CPU specific way to sleep cpu. 46 46 * 47 47 * ARMv7 introduced wait for event and wait for interrupt (wfe/wfi). 48 48 * ARM920T has custom coprocessor action to do the same. See ARM920T Technical 49 49 * Reference Manual ch 4.9 p. 4-23 (103 in the PDF) 50 * ARM926EJ-S uses the same coprocessor instruction as ARM920T. See ARM926EJ-S 51 * chapter 2.3.8 p.2-22 (52 in the PDF) 52 * 53 * @note Although mcr p15, 0, R0, c7, c0, 4 is defined in ARM Architecture 54 * reference manual for armv4/5 CP15 implementation is mandatory only for 55 * armv6+. 50 56 */ 51 57 NO_TRACE static inline void cpu_sleep(void) 52 58 { 53 #ifdef PROCESSOR_ armv7_a54 asm volatile ( "wfe" ::);55 #elif defined( MACHINE_gta02)56 asm volatile ( "mcr p15, 0,R0,c7,c0,4" ::);59 #ifdef PROCESSOR_ARCH_armv7_a 60 asm volatile ( "wfe" ); 61 #elif defined(PROCESSOR_ARCH_armv6) | defined(PROCESSOR_arm926ej_s) | defined(PROCESSOR_arm920t) 62 asm volatile ( "mcr p15, 0, R0, c7, c0, 4" ); 57 63 #endif 58 64 }
Note:
See TracChangeset
for help on using the changeset viewer.