[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1] xen/riscv: make calculation of stack address PC-relative
On Tue, Mar 14, 2023 at 06:00:41PM +0200, Oleksii Kurochko wrote: > The patch is needed to keep all addresses PC-relative. > > Pseudoinstruction 'la' can be transformed to 'auipc/addi' or > 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic. > > Right now, 'la' transforms to 'auipc/l{w|d}', which in case of > cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_ > where all addresses will be without counting that it might happen > that linker address != load address. > > To be sure that SP is loaded always PC-relative address > 'la' should be changed to 'lla', which always transforms to > 'auipc/addi'. > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> > --- > xen/arch/riscv/riscv64/head.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S > index 8887f0cbd4..e12d2a7cf3 100644 > --- a/xen/arch/riscv/riscv64/head.S > +++ b/xen/arch/riscv/riscv64/head.S > @@ -27,7 +27,7 @@ ENTRY(start) > add t3, t3, __SIZEOF_POINTER__ > bltu t3, t4, .L_clear_bss > > - la sp, cpu0_boot_stack > + lla sp, cpu0_boot_stack > li t0, STACK_SIZE > add sp, sp, t0 > > -- > 2.39.2 > > Reviewed-by: Bobby Eshleman <bobbyeshleman@xxxxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |