projects
/
gem5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6d199f0
)
Make sure all addresses used in syscalls are truncated to 32 bits. Actually -all...
author
Gabe Black
<gblack@eecs.umich.edu>
Sat, 12 May 2007 22:11:44 +0000
(15:11 -0700)
committer
Gabe Black
<gblack@eecs.umich.edu>
Sat, 12 May 2007 22:11:44 +0000
(15:11 -0700)
--HG--
extra : convert_revision :
3b8766c68a4ab36e2e769fac4812657f3f7e0d1c
src/cpu/o3/sparc/cpu_impl.hh
patch
|
blob
|
history
diff --git
a/src/cpu/o3/sparc/cpu_impl.hh
b/src/cpu/o3/sparc/cpu_impl.hh
index 50d980f55f7237987cd41d06676864ac62d7bc33..2e398577e58ee185da00de938b7f91a5c4de5b32 100644
(file)
--- a/
src/cpu/o3/sparc/cpu_impl.hh
+++ b/
src/cpu/o3/sparc/cpu_impl.hh
@@
-272,7
+272,10
@@
SparcO3CPU<Impl>::getSyscallArg(int i, int tid)
{
TheISA::IntReg idx = TheISA::flattenIntIndex(this->tcBase(tid),
SparcISA::ArgumentReg0 + i);
- return this->readArchIntReg(idx, tid);
+ TheISA::IntReg val = this->readArchIntReg(idx, tid);
+ if (bits(this->readMiscRegNoEffect(SparcISA::MISCREG_PSTATE, tid), 3, 3))
+ val = bits(val, 31, 0);
+ return val;
}
template <class Impl>