History log of /optee_os/lib/libutee/arch/riscv/utee_syscalls_rv.S (Results 1 – 3 of 3)
Revision Date Author Comments
# e2eade36 02-Jun-2023 Alvin Chang <alvinga@andestech.com>

libutee: riscv: Fix the arguments of __utee_panic() for unwinding

To unwind stack from synchronous panic, the ra and s0(fp) registers
should be saved onto stack, and the a1 should be assigned as sp.

libutee: riscv: Fix the arguments of __utee_panic() for unwinding

To unwind stack from synchronous panic, the ra and s0(fp) registers
should be saved onto stack, and the a1 should be assigned as sp.
The save_panic_regs_rv_ta() can handle these registers for abort usage.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Tested-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>

show more ...


# af9ee0e0 24-May-2023 Alvin Chang <alvinga@andestech.com>

libutee: riscv: Fix relocation type of function call into __utee_panic()

In RISC-V, "j" instruction has R_RISCV_JAL relocation that can represent
an even signed 21-bit offset (+-1MiB). However, this

libutee: riscv: Fix relocation type of function call into __utee_panic()

In RISC-V, "j" instruction has R_RISCV_JAL relocation that can represent
an even signed 21-bit offset (+-1MiB). However, this range is not enough
to be position independent code, and the linker generates linking error.
Fix it by using "tail" instruction which has R_RISCV_CALL_PLT relocation
that the execution can jump to +-2GB location.

Note that we won't return from _utee_panic(), that's why we use "tail"
instead of "call" instruction so that we won't generate redundant return
instruction.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Acked-by: liushiwei <liushiwei@eswincomputing.com>

show more ...


# 2f18fc50 21-Dec-2022 liushiwei <liushiwei@eswincomputing.com>

libutee: riscv: modify the UTEE_SYSCALL assembly

Use li instead of mv in UTEE_SYSCALL, store the num_args
in the t1 register. This works on RV32 and RV64,
so change the compile control and rename th

libutee: riscv: modify the UTEE_SYSCALL assembly

Use li instead of mv in UTEE_SYSCALL, store the num_args
in the t1 register. This works on RV32 and RV64,
so change the compile control and rename the file.

Signed-off-by: liushiwei <liushiwei@eswincomputing.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...