summaryrefslogtreecommitdiff
path: root/src/arch/alpha/system.cc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-08-16 23:45:21 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2012-08-16 23:45:21 -0500
commit649e37793776757d4076ce194fbe537b8d49e1db (patch)
tree2f3b8a82888096660d01fa661b94e53f054d79d1 /src/arch/alpha/system.cc
parent0b3897fc90901953e9d016466c37ab507f85023c (diff)
downloadgem5-649e37793776757d4076ce194fbe537b8d49e1db.tar.xz
Alpha System: override startup(), instead of loadState()
Alpha System was overriding loadState() function to setup some functional event. The system tried to read/write to memory before the Ruby memory had unserialized the state. With this patch, Alpha System overrides the startup() function, and sets up functional events in this function. This works because startup() is called after Ruby memory system has unserialized the memory state.
Diffstat (limited to 'src/arch/alpha/system.cc')
-rw-r--r--src/arch/alpha/system.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/arch/alpha/system.cc b/src/arch/alpha/system.cc
index 51e1d7e07..ca3c2b078 100644
--- a/src/arch/alpha/system.cc
+++ b/src/arch/alpha/system.cc
@@ -134,21 +134,14 @@ AlphaSystem::initState()
virtProxy.write(addr+0x58, data);
} else
panic("could not find hwrpb\n");
-
- // Setup all the function events now that we have a system and a symbol
- // table
- setupFuncEvents();
}
void
-AlphaSystem::loadState(Checkpoint *cp)
+AlphaSystem::startup()
{
- System::loadState(cp);
-
// Setup all the function events now that we have a system and a symbol
// table
setupFuncEvents();
-
}
void