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 GET_SELF_CPU_CONTROL
REG, TMP
194 mrc p15, 0, \TMP, c0, c0, 5
196 and \TMP, \TMP, #0xff
#define REG(x)
Use the right prefix for registers.
Definition: asm.h:72
This include file defines the per CPU information required by RTEMS.
This include file defines ANSI concatenation macros.