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__
80#define SYM(x) RTEMS_XCONCAT (__USER_LABEL_PREFIX__, x)
84#define PROC(x) RTEMS_XCONCAT (__PROC_LABEL_PREFIX__, x)
88#define REG(x) RTEMS_XCONCAT (__REGISTER_PREFIX__, x)
92#define FREG(x) RTEMS_XCONCAT (__FLOAT_REGISTER_PREFIX__, x)
224#if defined(ppc403) || defined(ppc405)
251#elif defined(mpc860) || defined(mpc821)
264#define PUBLIC_VAR(sym) .globl SYM (sym)
265#define EXTERN_VAR(sym) .extern SYM (sym)
266#define PUBLIC_PROC(sym) .globl PROC (sym)
267#define EXTERN_PROC(sym) .extern PROC (sym)
270#if PPC_ASM == PPC_ASM_ELF
271#define ALIGN(n,p) .align p
272#define DESCRIPTOR(x) \
273 .section .descriptors,"aw"; \
280#define EXT_SYM_REF(x) .long x
281#define EXT_PROC_REF(x) .long x
287#define BEGIN_CODE_DCL .text
289#define BEGIN_DATA_DCL .data
291#define BEGIN_CODE .text
293#define BEGIN_DATA .data
295#define BEGIN_BSS .bss
300#error "PPC_ASM_TYPE is not properly defined"
303#error "PPC_ASM_TYPE is not properly defined"
306#if defined(__powerpc64__)
307#define PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE nop
309#define PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE
IBM/Motorola PowerPC Definitions.