aboutsummaryrefslogtreecommitdiff
path: root/interrupts.c
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2019-12-31 17:43:13 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2019-12-31 17:43:13 +0100
commit97612feede34cdd0099d72d0e6fa125dd65b5e9a (patch)
tree6f030b99e0ab89cf711e68aa2f01c34fd2ed9009 /interrupts.c
parent030cc96003d4518463b40f20d4194e51b1745c86 (diff)
downloadrpi-MMU-example-97612feede34cdd0099d72d0e6fa125dd65b5e9a.tar.gz
rpi-MMU-example-97612feede34cdd0099d72d0e6fa125dd65b5e9a.zip
reset is used by us in a hacky way and never really triggered by hardware; mark that
Diffstat (limited to 'interrupts.c')
-rw-r--r--interrupts.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/interrupts.c b/interrupts.c
index 3102761..c6e3f17 100644
--- a/interrupts.c
+++ b/interrupts.c
@@ -1,19 +1,14 @@
#include "io.h"
#include "svc_interface.h"
-void setup(void);
+void __attribute__((noreturn)) setup(void);
+// from what I've heard, reset is never used on the Pi;
+// in our case it should run once - when stage1 of the kernel
+// jumps to stage2
void reset_handler(void)
{
- static _Bool setup_done;
-
- if (!setup_done)
- setup();
-
- setup_done = 1;
-
- // TODO do something here
- while(1);
+ setup();
}
void undefined_instruction_vector(void)