mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-24 18:15:31 +00:00
bd3e9ebaea
This change checks elf_flags for EF_RISCV_RVE and if present uses the RVE linux syscall ABI which uses t0 for the syscall number instead of a7. Warn and exit if a non-RVE ABI binary is run on a cpu with the RVE extension as it is incompatible. Backports relevant parts of 5836c3eccedb6dfab16b8f606f2de24b8938b69c from qemu
15 lines
411 B
C
15 lines
411 B
C
#define xRA 1 /* return address (aka link register) */
|
|
#define xSP 2 /* stack pointer */
|
|
#define xGP 3 /* global pointer */
|
|
#define xTP 4 /* thread pointer */
|
|
|
|
#define xA0 10 /* gpr[10-17] are syscall arguments */
|
|
#define xA1 11
|
|
#define xA2 12
|
|
#define xA3 13
|
|
#define xA4 14
|
|
#define xA5 15
|
|
#define xA6 16
|
|
#define xA7 17 /* syscall number for RVI ABI */
|
|
#define xT0 5 /* syscall number for RVE ABI */
|