hw2 done
This commit is contained in:
@@ -12,8 +12,9 @@ wait:
|
||||
b wait
|
||||
|
||||
run:
|
||||
// move dtb to x20
|
||||
mov x20, x0
|
||||
adr x0, _start
|
||||
adrp x0, __stack_end
|
||||
mov sp, x0
|
||||
|
||||
adr x0, __text_start
|
||||
@@ -25,6 +26,7 @@ run:
|
||||
adr x1, __bss_end
|
||||
bl memzero
|
||||
|
||||
// move dtb back to x0
|
||||
mov x0, x20
|
||||
bl main
|
||||
b wait
|
||||
@@ -36,7 +38,8 @@ relocate:
|
||||
adr x2, __text_end
|
||||
sub x2, x2, x1
|
||||
bl memcpy
|
||||
mov x19, x0
|
||||
|
||||
mov x19, x0 // save return pointer
|
||||
|
||||
// move rodata section
|
||||
ldr x0, =__new_ro_start
|
||||
@@ -52,5 +55,6 @@ relocate:
|
||||
sub x2, x2, x1
|
||||
bl memcpy
|
||||
|
||||
mov x0, x20
|
||||
br x19
|
||||
b wait
|
||||
|
||||
Reference in New Issue
Block a user