diff options
Diffstat (limited to 'include/asm_macros.h')
-rw-r--r-- | include/asm_macros.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/include/asm_macros.h b/include/asm_macros.h new file mode 100644 index 0000000000..4cfadb8773 --- /dev/null +++ b/include/asm_macros.h @@ -0,0 +1,55 @@ +/** + * @file + * + * @ingroup arm_gba + * + * @brief ASM macros. + */ + +/* + * RTEMS GBA BSP + * + * Copyright (c) 2004 Markku Puro <markku.puro@kopteri.net> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +/*-----------------------------------------------------------------------------* + * Macros + *-----------------------------------------------------------------------------*/ +#ifdef __asm__ +#define PUBLIC_ARM_FUNCTION(label) .global label ; \ + .type label, function ; \ + .arm ; \ + label: + +#define PUBLIC_THUMB_FUNCTION(label) .global label ; \ + .type label, function ; \ + .thumb_func ; \ + label: + +#define STATIC_ARM_FUNCTION(label) .type label, function ; \ + .arm ; \ + label: + +#define STATIC_THUMB_FUNCTION(label) .type label, function ; \ + .thumb_func ; \ + label: + +#define OBJECT(label) .global label ; \ + .type label, object ; \ + label: + +#define STATIC_OBJECT(label) .type label, object ; \ + label: + +#define WEAK_OBJECT(label) .weak label ; \ + .type label, object ; \ + label: + +#define LABEL_END(label) .L##label##_end: ; \ + .size label, .L##label##_end - label + +#endif |