diff -r 97eebddaae84 -r 3ac8305dbf60 src/arch/riscv/process.cc --- a/src/arch/riscv/process.cc Wed Nov 09 14:27:40 2016 -0600 +++ b/src/arch/riscv/process.cc Wed Jan 18 17:39:18 2017 +0000 @@ -216,7 +216,13 @@ RiscvISA::IntReg RiscvLiveProcess::getSyscallArg(ThreadContext *tc, int &i) { - return tc->readIntReg(SyscallArgumentRegs[i++]); + // RISC-V only has four system call argument registers by convention, so + // if a larger index is requested return 0 + RiscvISA::IntReg retval = 0; + if (i < 4) + retval = tc->readIntReg(SyscallArgumentRegs[i]); + i++; + return retval; } void