On 07.07.2023 11:08, Oleksii wrote: > On Thu, 2023-07-06 at 13:17 +0200, Jan Beulich wrote: >> On 19.06.2023 15:34, Oleksii Kurochko wrote: >>> --- a/xen/arch/riscv/riscv64/head.S >>> +++ b/xen/arch/riscv/riscv64/head.S >>> @@ -27,8 +27,16 @@ ENTRY(start) >>> 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 >>> + >> >> Looking at patch 4 you will want to add a comment here to emphasize >> that a0 and a1 have to remain unclobbered. > Thanks for a note. I'll add it in the new patch version
Having seen how things end up by the end of the series, there's an alternative: You could save a0 and a1 ahead of the 1st call to reset_stack, rather than immediately afterwards. Jan