diff --git a/arch/riscv64/mcount.S b/arch/riscv64/mcount.S index e5fc30479..80c7bd6c4 100644 --- a/arch/riscv64/mcount.S +++ b/arch/riscv64/mcount.S @@ -1,5 +1,21 @@ #include "utils/asm.h" +/* + * RISC-V Integer Register Convention + * + * | Name | ABI Mnemonic | Meaning | Preserved across calls? + * | x0 | zero | Zero | -- (Immutable) + * | x1 | ra | Return address | No + * | x2 | sp | Stack pointer | Yes + * | x3 | gp | Global pointer | -- (Unallocatable) + * | x4 | tp | Thread pointer | -- (Unallocatable) + * | x5 - x7 | t0 - t2 | Temporary registers | No + * | x8 - x9 | s0 - s1 | Callee-saved registers | Yes + * | x10 - x17 | a0 - a7 | Argument registers | No + * | x18 - x27 | s2 - s11 | Callee-saved registers | Yes + * | x28 - x31 | t3 - t6 | Temporary registers | No + */ + .text GLOBAL(_mcount)