xref: /qemu/target/riscv/cpu_user.h (revision 92ec7805190313c9e628f8fc4eb4f932c15247bd)
1f91005e1SMarkus Armbruster #ifndef TARGET_RISCV_CPU_USER_H
2f91005e1SMarkus Armbruster #define TARGET_RISCV_CPU_USER_H
3f91005e1SMarkus Armbruster 
447ae93cdSMichael Clark #define xRA 1   /* return address (aka link register) */
547ae93cdSMichael Clark #define xSP 2   /* stack pointer */
647ae93cdSMichael Clark #define xGP 3   /* global pointer */
747ae93cdSMichael Clark #define xTP 4   /* thread pointer */
847ae93cdSMichael Clark 
947ae93cdSMichael Clark #define xA0 10  /* gpr[10-17] are syscall arguments */
1047ae93cdSMichael Clark #define xA1 11
1147ae93cdSMichael Clark #define xA2 12
1247ae93cdSMichael Clark #define xA3 13
1347ae93cdSMichael Clark #define xA4 14
1447ae93cdSMichael Clark #define xA5 15
1547ae93cdSMichael Clark #define xA6 16
165836c3ecSKito Cheng #define xA7 17  /* syscall number for RVI ABI */
175836c3ecSKito Cheng #define xT0 5   /* syscall number for RVE ABI */
18*966f3a38SDeepak Gupta #define xT2 7
19f91005e1SMarkus Armbruster 
20f91005e1SMarkus Armbruster #endif
21