aboutsummaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2020-01-02 13:24:29 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2020-01-02 13:24:29 +0100
commit3941fe97783c7a31ab04fbfb127f5026dd31ef78 (patch)
tree523b0b1d626969c3eb52545b672ca909dd5ae31b /setup.c
parentea465f85cf7a47f488332509a2f6d7ae5c88057c (diff)
downloadrpi-MMU-example-3941fe97783c7a31ab04fbfb127f5026dd31ef78.tar.gz
rpi-MMU-example-3941fe97783c7a31ab04fbfb127f5026dd31ef78.zip
demo of arm timer irq
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/setup.c b/setup.c
index 63ca054..ad01720 100644
--- a/setup.c
+++ b/setup.c
@@ -5,6 +5,7 @@
#include "atags.h"
// for POWER_OF_2() macro... perhaps the macro should be moved
#include "memory.h"
+#include "armclock.h"
void setup(uint32_t r0, uint32_t machine_type,
struct atag_header *atags)
@@ -14,7 +15,7 @@ void setup(uint32_t r0, uint32_t machine_type,
// When we attach screen session after loading kernel with socat
// we miss kernel's greeting... So we'll make the kernel wait for
// one char we're going to send from within screen
- //getchar();
+ getchar();
puts("Hello, kernel World!");
@@ -97,6 +98,12 @@ void setup(uint32_t r0, uint32_t machine_type,
// loads a blob there
demo_setup_PL0();
+ // sets some general settings for arm timer
+ armclk_init();
+
+ // turns on irq from arm timer
+ armclk_enable_timer_irq();
+
// jumps to unprivileged code... never, ever, ever returns
demo_go_unprivileged();