diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2005-03-09 15:52:10 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2005-03-09 15:52:10 -0500 |
commit | 232134a8169e35931a34140c57dc7a8dfb4b1546 (patch) | |
tree | c178f1b301ee284d81522ecc14ac40f927a0df13 /cpu | |
parent | 761d104f7b5771ad7c854a6e6474c30ce55e217e (diff) | |
download | gem5-232134a8169e35931a34140c57dc7a8dfb4b1546.tar.xz |
Changed all syscalls to use syscall return object.
arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_tru64_process.cc:
cpu/exec_context.hh:
sim/process.hh:
sim/syscall_emul.cc:
sim/syscall_emul.hh:
Changed all syscalls to use syscall return object
arch/alpha/isa_traits.hh:
Added syscall return object that packages return value and return
status into an object.
sim/process.cc:
renamed variable name to nm so base class function name() can be called
--HG--
extra : convert_revision : 6609c5ffecc9e3519d7a0cd160879fd21d54abfc
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/exec_context.hh | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpu/exec_context.hh b/cpu/exec_context.hh index 8437a5585..d6140d52f 100644 --- a/cpu/exec_context.hh +++ b/cpu/exec_context.hh @@ -435,20 +435,20 @@ class ExecContext regs.intRegFile[ArgumentReg0 + i] = val; } - void setSyscallReturn(int64_t return_value) + void setSyscallReturn(SyscallReturn return_value) { // check for error condition. Alpha syscall convention is to // indicate success/failure in reg a3 (r19) and put the // return value itself in the standard return value reg (v0). const int RegA3 = 19; // only place this is used - if (return_value >= 0) { + if (return_value.successful()) { // no error regs.intRegFile[RegA3] = 0; - regs.intRegFile[ReturnValueReg] = return_value; + regs.intRegFile[ReturnValueReg] = return_value.value(); } else { // got an error, return details regs.intRegFile[RegA3] = (IntReg) -1; - regs.intRegFile[ReturnValueReg] = -return_value; + regs.intRegFile[ReturnValueReg] = -return_value.value(); } } |