The reason for reset_stack() introduction is that stack should be
reset twice:
1. Before jumping to C world at the start of _start() function.
2. After jumping from 1:1 mapping world.
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
add t3, t3, __SIZEOF_POINTER__
bltu t3, t4, .L_clear_bss
+ jal reset_stack
+
+ tail start_xen
+
+ .section .text, "ax", %progbits
+
+ENTRY(reset_stack)
la sp, cpu0_boot_stack
li t0, STACK_SIZE
add sp, sp, t0
- tail start_xen
+ ret
+