1234567891011121314151617181920212223242526272829303132333435 |
- /* Various definitons used the the ARM uClibc assembly code. */
- #ifndef _ARM_ASM_H
- #define _ARM_ASM_H
- #ifdef __thumb2__
- .thumb
- .syntax unified
- #define IT(t, cond) i##t cond
- #else
- /* XXX: This can be removed if/when we require an assembler that supports
- unified assembly syntax. */
- #define IT(t, cond)
- /* Code to return from a thumb function stub. */
- #ifdef __ARM_ARCH_4T__
- #define POP_RET pop {r2, pc}
- #else
- #define POP_RET pop {r2, r3}; bx r3
- #endif
- #endif
- #if defined(__ARM_ARCH_6M__)
- /* Force arm mode to flush out errors on M profile cores. */
- #undef IT
- #define THUMB1_ONLY 1
- #endif
- #if defined(__USE_BX__)
- # if ( defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \
- || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \
- )
- # error Use of BX was requested, but is not available on the target processor.
- # endif /* ARCH level */
- #endif /* __USE_BX__ */
- #endif /* _ARM_ASM_H */
|