Linux/MIPS 上的系统调用(不是函数调用,是通过指令到内核空间的实际往返)保存了哪些寄存器?syscall
RESTORE_SOME
从头文件中的宏来看arch/mips/include/asm/stackframe.h
,看起来 r2-r7、r25、r28 和 r31 被恢复了,当然调用约定会自动保存被调用者保存的寄存器,即使在内核空间中(任何将使用它们的内核空间函数)会在破坏它们之前自行保存它们)。它是否正确?
当然,至少有几个(r2 和 r7)的值会随着系统调用的结果而被破坏。