summaryrefslogtreecommitdiff
path: root/src/arch/sparc/intregfile.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-12-06 05:42:09 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-12-06 05:42:09 -0500
commitc541be3a48dc8252fe26e020122039a5e9b9193c (patch)
treecd1830624086aef389b09d8def4817ec807bcc6c /src/arch/sparc/intregfile.cc
parent4d8a0541dd16cf358c16dc8ad474717fcbed753f (diff)
downloadgem5-c541be3a48dc8252fe26e020122039a5e9b9193c.tar.xz
Changed the integer register file to work with flattened indices.
--HG-- extra : convert_revision : c5153c3c712e5d18b5233e1fd205806adcb30654
Diffstat (limited to 'src/arch/sparc/intregfile.cc')
-rw-r--r--src/arch/sparc/intregfile.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/sparc/intregfile.cc b/src/arch/sparc/intregfile.cc
index 0a8ac055f..594fe4bea 100644
--- a/src/arch/sparc/intregfile.cc
+++ b/src/arch/sparc/intregfile.cc
@@ -66,6 +66,7 @@ void IntRegFile::clear()
memset(regGlobals[x], 0, sizeof(IntReg) * RegsPerFrame);
for(int x = 0; x < 2 * NWindows; x++)
memset(regSegments[x], 0, sizeof(IntReg) * RegsPerFrame);
+ memset(regs, 0, sizeof(IntReg) * NumIntRegs);
}
IntRegFile::IntRegFile()
@@ -78,6 +79,8 @@ IntRegFile::IntRegFile()
IntReg IntRegFile::readReg(int intReg)
{
+ DPRINTF(Sparc, "Read register %d = 0x%x\n", intReg, regs[intReg]);
+ return regs[intReg];
IntReg val;
if(intReg < NumIntArchRegs)
val = regView[intReg >> FrameOffsetBits][intReg & FrameOffsetMask];
@@ -96,6 +99,12 @@ void IntRegFile::setReg(int intReg, const IntReg &val)
if(intReg)
{
DPRINTF(Sparc, "Wrote register %d = 0x%x\n", intReg, val);
+ regs[intReg] = val;
+ }
+ return;
+ if(intReg)
+ {
+ DPRINTF(Sparc, "Wrote register %d = 0x%x\n", intReg, val);
if(intReg < NumIntArchRegs)
regView[intReg >> FrameOffsetBits][intReg & FrameOffsetMask] = val;
else if((intReg -= NumIntArchRegs) < NumMicroIntRegs)