diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/score/cpu/unix/cpu.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/c/src/exec/score/cpu/unix/cpu.h b/c/src/exec/score/cpu/unix/cpu.h index 091f0915b6..90eb6f5216 100644 --- a/c/src/exec/score/cpu/unix/cpu.h +++ b/c/src/exec/score/cpu/unix/cpu.h @@ -264,7 +264,7 @@ extern "C" { #if defined(hppa1_1) #define CPU_STACK_GROWS_UP TRUE -#elif defined(sparc) +#elif defined(sparc) || defined(i386) #define CPU_STACK_GROWS_UP FALSE #else #error "unknown CPU!!" @@ -362,6 +362,27 @@ extern "C" { #endif #endif +#if defined(i386) + +#ifdef RTEMS_NEWLIB +#error "Newlib not installed" +#endif + +/* + * For Linux 1.1 + */ + +#ifdef RTEMS_UNIXLIB +#define EBX_OFF 0 +#define ESI_OFF 1 +#define EDI_OFF 2 +#define EBP_OFF 3 +#define ESP_OFF 4 +#define RET_OFF 5 +#endif + +#endif + #if defined(sparc) /* @@ -515,6 +536,8 @@ EXTERN void (*_CPU_Thread_dispatch_pointer)(); #define CPU_FRAME_SIZE (32 * 4) #elif defined(sparc) #define CPU_FRAME_SIZE (112) /* based on disassembled test code */ +#elif defined(i386) +#define CPU_FRAME_SIZE (24) /* return address, sp, and bp pushed plus fudge */ #else #error "Unknown CPU!!!" #endif |