riscv: Fix crash when syscall argument reg index is too high
authorAlec Roelke <ar4jc@virginia.edu>
Fri, 27 Jan 2017 21:05:01 +0000 (15:05 -0600)
committerAlec Roelke <ar4jc@virginia.edu>
Fri, 27 Jan 2017 21:05:01 +0000 (15:05 -0600)
commite4c57275d38c864798cb04a4644bac90a83572fd
tree3f26d0e4e89347a9bbead74471e4a16a00695659
parentc5df9308c99bd4af41b24119e2d86bde9eafdfa4
riscv: Fix crash when syscall argument reg index is too high

By default, doSyscall gets the values of six registers to be used for
system call arguments.  RISC-V, by convention, only has four.  Because
RISC-V's implementation of these indices is as arrays of integers rather
than as base indices plus offsets, trying to get the fifth argument
register's value will cause a crash.  This patch fixes that by returning 0
for any index higher than 3.

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
src/arch/riscv/process.cc