summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/unix/cpu.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/exec/score/cpu/unix/cpu.h25
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