aboutsummaryrefslogtreecommitdiff
path: root/loader_stage2.c
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2019-12-28 18:29:22 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2019-12-28 18:29:22 +0100
commitd357eefbfb7392e9313ac7d4b8f819e7a08f886a (patch)
treeb1e25d54a42c174aef402e5241d33805549f0cc2 /loader_stage2.c
parentf7ddd1a356f58298d703b11e862d3d6127e67080 (diff)
downloadrpi-MMU-example-d357eefbfb7392e9313ac7d4b8f819e7a08f886a.tar.gz
rpi-MMU-example-d357eefbfb7392e9313ac7d4b8f819e7a08f886a.zip
forward arguments from the loader
Diffstat (limited to 'loader_stage2.c')
-rw-r--r--loader_stage2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/loader_stage2.c b/loader_stage2.c
index 65dda0a..f49d94c 100644
--- a/loader_stage2.c
+++ b/loader_stage2.c
@@ -31,7 +31,7 @@ void _stage2_main(uint32_t r0, uint32_t r1, uint32_t atags)
*(dst++) = uart_getc();
// jump to kernel
- // TODO also forward arguments (r0, r1, atags)
- asm volatile("bx %0" :: "r" (kernel_load_addr) : "memory");
+ ((void(*)(uint32_t, uint32_t, uint32_t)) kernel_load_addr)
+ (r0, r1, atags);
}