From df49c60c9671e4a28e636964d744c1f59fb6cb68 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 12 Jun 2000 15:00:15 +0000 Subject: Merged from 4.5.0-beta3a --- cpukit/score/cpu/powerpc/Makefile.am | 4 +-- cpukit/score/cpu/powerpc/rtems/score/ppc.h | 50 ++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 5 deletions(-) (limited to 'cpukit/score/cpu/powerpc') diff --git a/cpukit/score/cpu/powerpc/Makefile.am b/cpukit/score/cpu/powerpc/Makefile.am index db1cf0888a..cbddc2bca7 100644 --- a/cpukit/score/cpu/powerpc/Makefile.am +++ b/cpukit/score/cpu/powerpc/Makefile.am @@ -1,6 +1,6 @@ -## +## ## $Id$ -## +## AUTOMAKE_OPTIONS = foreign 1.4 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal diff --git a/cpukit/score/cpu/powerpc/rtems/score/ppc.h b/cpukit/score/cpu/powerpc/rtems/score/ppc.h index ff93f9b1b3..83a54bfa25 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/ppc.h +++ b/cpukit/score/cpu/powerpc/rtems/score/ppc.h @@ -94,7 +94,28 @@ extern "C" { #define PPC_LOW_POWER_MODE_NONE 0 #define PPC_LOW_POWER_MODE_STANDARD 1 -#if defined(ppc403) +#if defined(rtems_multilib) +/* + * Figure out all CPU Model Feature Flags based upon compiler + * predefines. + */ + +#define CPU_MODEL_NAME "rtems_multilib" +#define PPC_ALIGNMENT 4 +#define PPC_CACHE_ALIGNMENT 16 +#define PPC_HAS_RFCI 1 +#define PPC_HAS_FPU 0 +#define PPC_USE_MULTIPLE 1 +#define PPC_I_CACHE 2048 +#define PPC_D_CACHE 1024 +#define PPC_DEBUG_MODEL PPC_DEBUG_MODEL_STANDARD +#define PPC_HAS_EXCEPTION_PREFIX 0 +#define PPC_HAS_EVPR 0 +#define PPC_INTERRUPT_MAX 16 +#define PPC_LOW_POWER_MODE PPC_LOW_POWER_MODE_STANDARD +#define PPC_HAS_DOUBLE 0 + +#elif defined(ppc403) /* * IBM 403 * @@ -129,7 +150,7 @@ extern "C" { #define PPC_ALIGNMENT 4 #define PPC_CACHE_ALIGNMENT 16 #define PPC_I_CACHE 4096 -#define PPC_I_CACHE 0 +#define PPC_D_CACHE 0 #elif defined(ppc601) @@ -281,6 +302,14 @@ extern "C" { */ #define PPC_ABI_EABI 3 +/* + * Default to the EABI used by current GNU tools + */ + +#ifndef PPC_ABI +#define PPC_ABI PPC_ABI_EABI +#endif + #if (PPC_ABI == PPC_ABI_POWEROPEN) #define PPC_STACK_ALIGNMENT 8 #elif (PPC_ABI == PPC_ABI_GCC27) @@ -309,6 +338,14 @@ extern "C" { #define PPC_ASM_ELF 0 #define PPC_ASM_XCOFF 1 +/* + * Default to the assembler format used by the current GNU tools. + */ + +#ifndef PPC_ASM +#define PPC_ASM PPC_ASM_ELF +#endif + /* * Use the default debug scheme defined in the architectural specification * if another model has not been specified. @@ -449,7 +486,14 @@ extern "C" { #define PPC_IRQ_FIT (PPC_STD_IRQ_LAST+2) /*0x01010- Fixed int. timer */ #define PPC_IRQ_WATCHDOG (PPC_STD_IRQ_LAST+3) /*0x01020- Watchdog timer */ #define PPC_IRQ_DEBUG (PPC_STD_IRQ_LAST+4) /*0x02000- Debug exceptions */ -#define PPC_IRQ_LAST PPC_IRQ_DEBUG +#define PPC_IRQ_LAST PPC_IRQ_DEBUG + +#elif defined(mpc505) || defined(mpc509) +#define PPC_IRQ_SOFTEMU (PPC_STD_IRQ_LAST+1) /* Software emulation. */ +#define PPC_IRQ_DATA_BP (PPC_STD_IRQ_LAST+ 2) +#define PPC_IRQ_INST_BP (PPC_STD_IRQ_LAST+ 3) +#define PPC_IRQ_MEXT_BP (PPC_STD_IRQ_LAST+ 4) +#define PPC_IRQ_NMEXT_BP (PPC_STD_IRQ_LAST+ 5) #elif defined(ppc601) #define PPC_IRQ_TRACE (PPC_STD_IRQ_LAST+1) /*0x02000-Run/Trace Exception*/ -- cgit v1.2.3