42#include <rtems/score/cpuopts.h>
62#ifndef __USER_LABEL_PREFIX__
63#define __USER_LABEL_PREFIX__
66#ifndef __REGISTER_PREFIX__
67#define __REGISTER_PREFIX__
70#ifndef __FLOAT_REGISTER_PREFIX__
71#define __FLOAT_REGISTER_PREFIX__ __REGISTER_PREFIX__
74#ifndef __PROC_LABEL_PREFIX__
75#define __PROC_LABEL_PREFIX__ __USER_LABEL_PREFIX__
82#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
86#define PROC(x) CONCAT1 (__PROC_LABEL_PREFIX__, x)
90#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
94#define FREG(x) CONCAT1 (__FLOAT_REGISTER_PREFIX__, x)
226#if defined(ppc403) || defined(ppc405)
253#elif defined(mpc860) || defined(mpc821)
266#define PUBLIC_VAR(sym) .globl SYM (sym)
267#define EXTERN_VAR(sym) .extern SYM (sym)
268#define PUBLIC_PROC(sym) .globl PROC (sym)
269#define EXTERN_PROC(sym) .extern PROC (sym)
272#if PPC_ASM == PPC_ASM_ELF
273#define ALIGN(n,p) .align p
274#define DESCRIPTOR(x) \
275 .section .descriptors,"aw"; \
282#define EXT_SYM_REF(x) .long x
283#define EXT_PROC_REF(x) .long x
289#define BEGIN_CODE_DCL .text
291#define BEGIN_DATA_DCL .data
293#define BEGIN_CODE .text
295#define BEGIN_DATA .data
297#define BEGIN_BSS .bss
302#error "PPC_ASM_TYPE is not properly defined"
305#error "PPC_ASM_TYPE is not properly defined"
308#if defined(__powerpc64__)
309#define PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE nop
311#define PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE
IBM/Motorola PowerPC Definitions.