diff options
author | Wojtek Kosior <kwojtus@protonmail.com> | 2020-01-02 13:24:29 +0100 |
---|---|---|
committer | Wojtek Kosior <kwojtus@protonmail.com> | 2020-01-02 13:24:29 +0100 |
commit | 3941fe97783c7a31ab04fbfb127f5026dd31ef78 (patch) | |
tree | 523b0b1d626969c3eb52545b672ca909dd5ae31b /demo_functionality.c | |
parent | ea465f85cf7a47f488332509a2f6d7ae5c88057c (diff) | |
download | rpi-MMU-example-3941fe97783c7a31ab04fbfb127f5026dd31ef78.tar.gz rpi-MMU-example-3941fe97783c7a31ab04fbfb127f5026dd31ef78.zip |
demo of arm timer irq
Diffstat (limited to 'demo_functionality.c')
-rw-r--r-- | demo_functionality.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/demo_functionality.c b/demo_functionality.c index 3cf5b8f..a2d8550 100644 --- a/demo_functionality.c +++ b/demo_functionality.c @@ -5,6 +5,7 @@ #include "ramfs.h" #include "strings.h" #include "paging.h" +#include "armclock.h" void demo_paging_support(void) { @@ -120,10 +121,13 @@ void demo_go_unprivileged(void) PSR_t new_SPSR = read_CPSR(); new_SPSR.fields.PSR_MODE_4_0 = MODE_USER; + new_SPSR.fields.PSR_IRQ_MASK_BIT = 0; write_SPSR(new_SPSR); puts("All ready, jumping to PL0 code"); + armclk_set_timer_match_timeout(0x00100000); + asm volatile("cps %[sysmode]\n\r" "mov sp, %[stackaddr]\n\r" "cps %[supmode]\n\r" |