aboutsummaryrefslogtreecommitdiff
path: root/memory.h
diff options
context:
space:
mode:
Diffstat (limited to 'memory.h')
-rw-r--r--memory.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/memory.h b/memory.h
index c7952f0..bdeba52 100644
--- a/memory.h
+++ b/memory.h
@@ -28,7 +28,13 @@ extern char _translation_table_end;
extern char _sections_list_start;
extern char _sections_list_end;
extern char _stack_start;
-extern char _stack_top;
+extern char _fiq_stack_start;
+extern char _fiq_stack_top;
+extern char _irq_stack_start;
+extern char _irq_stack_top;
+extern char _supervisor_stack_start;
+extern char _supervisor_stack_top;
+extern char _stack_end;
#define KERNEL_START ((size_t) &__start) // this is 0x0
#define KERNEL_END ((size_t) &__end)
@@ -43,8 +49,14 @@ extern char _stack_top;
// first section after the translation table is left unused;
// the next section is used as the stack
-#define STACK_START ((size_t) &_stack_start)
-#define STACK_END ((size_t) &_stack_top)
+#define STACK_START ((size_t) &_stack_start)
+#define FIQ_STACK_START ((size_t) &_fiq_stack_start)
+#define FIQ_STACK_END ((size_t) &_fiq_stack_top)
+#define IRQ_STACK_START ((size_t) &_irq_stack_start)
+#define IRQ_STACK_END ((size_t) &_irq_stack_top)
+#define SUPERVISOR_STACK_START ((size_t) &_supervisor_stack_start)
+#define SUPERVISOR_STACK_END ((size_t) &_supervisor_stack_top)
+#define STACK_END ((size_t) &_stack_end)
#define PRIVILEGED_MEMORY_END STACK_END