aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}