On 07/07/2023 10:12, Oleksii wrote:
On Thu, 2023-07-06 at 13:18 +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
@@ -29,6 +29,8 @@ ENTRY(start)
         jal     reset_stack +        jal     calc_phys_offset
+
          tail    start_xen
         .section .text, "ax", %progbits

Since you call a C function, the code to save/restore a0/a1 needs to
move here (from patch 4).
Thanks. It makes sense.
It would be better to move save/restore a0/a1 ( from patch 4 )code
here.

The only one reason I didn't do that before that calc_phys_offset
doesn't touch that and it is guaranteed that it will not ( as it
doesn't have arguments )

IIUC, the calling convention requires a0/a1 to be caller saved. So even if they are not used for arguments, such callee is still free to use them for internal purpose.

Cheers,

--
Julien Grall

Reply via email to