62 #ifndef __USER_LABEL_PREFIX__ 63 #define __USER_LABEL_PREFIX__ _ 66 #ifndef __REGISTER_PREFIX__ 67 #define __REGISTER_PREFIX__ 74 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) 78 #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x) 103 #define CPSR REG(CPSR) 105 #define SPSR REG(SPSR) 107 #define NUM_IRQ_VECTOR 6 // IRQ number 108 #define NUM_FIQ_VECTOR 7 // IRQ number 110 #define CPSR_IRQ_DISABLE 0x80 // FIQ disabled when =1 111 #define CPSR_FIQ_DISABLE 0x40 // FIQ disabled when =1 112 #define CPSR_THUMB_ENABLE 0x20 // Thumb mode when =1 113 #define CPSR_FIQ_MODE 0x11 114 #define CPSR_IRQ_MODE 0x12 115 #define CPSR_SUPERVISOR_MODE 0x13 116 #define CPSR_UNDEF_MODE 0x1B 118 #define CPSR_MODE_BITS 0x1F 125 #define BEGIN_CODE_DCL .text 127 #define BEGIN_DATA_DCL .data 129 #define BEGIN_CODE .text 142 #define PUBLIC(sym) .globl SYM (sym) 143 #define EXTERN(sym) .globl SYM (sym) 145 #define FUNCTION_THUMB_ENTRY(name) \ 150 .type name, %function; \ 153 #define FUNCTION_ENTRY(name) \ 156 .type name, %function; \ 159 #define FUNCTION_END(name) \ 162 #if defined(ARM_MULTILIB_ARCH_V7M) 163 #define DEFINE_FUNCTION_ARM(name) \ 164 .thumb_func ; .globl name ; name: 165 #elif defined(__thumb__) 166 #define DEFINE_FUNCTION_ARM(name) \ 167 .thumb_func ; .globl name ; name: ; bx pc ; \ 168 .arm ; .globl name ## _arm ; name ## _arm: 170 #define DEFINE_FUNCTION_ARM(name) \ 171 .globl name ; name: ; .globl name ## _arm ; name ## _arm: 174 .macro SWITCH_FROM_THUMB_TO_ARM
182 .macro SWITCH_FROM_ARM_TO_THUMB
REG 190 .macro SWITCH_FROM_THUMB_2_TO_ARM
198 .macro SWITCH_FROM_ARM_TO_THUMB_2
REG 206 .macro BLX_TO_THUMB_1 TARGET
207 #if defined(__thumb__) && !defined(__thumb2__) 220 .macro GET_SELF_CPU_CONTROL
REG 223 mrc p15, 0,
\REG, c13, c0, 4
#define REG(x)
Definition: asm.h:72
#define pc
pc, used on mips16 */
Definition: regs.h:67