summaryrefslogtreecommitdiff
path: root/src/arch/alpha/linux
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/alpha/linux')
-rw-r--r--src/arch/alpha/linux/system.cc7
-rw-r--r--src/arch/alpha/linux/system.hh6
2 files changed, 13 insertions, 0 deletions
diff --git a/src/arch/alpha/linux/system.cc b/src/arch/alpha/linux/system.cc
index e42553b63..db3c16d7e 100644
--- a/src/arch/alpha/linux/system.cc
+++ b/src/arch/alpha/linux/system.cc
@@ -113,6 +113,12 @@ LinuxAlphaSystem::initState()
else
panic("could not find dp264_mv\n");
+}
+
+void
+LinuxAlphaSystem::setupFuncEvents()
+{
+ AlphaSystem::setupFuncEvents();
#ifndef NDEBUG
kernelPanicEvent = addKernelFuncEvent<BreakPCEvent>("panic");
if (!kernelPanicEvent)
@@ -148,6 +154,7 @@ LinuxAlphaSystem::initState()
// re-enable, but we should find a better way to turn it on than
// using DTRACE(Thread), since looking at a trace flag at tick 0
// leads to non-intuitive behavior with --trace-start.
+ Addr addr = 0;
if (false && kernelSymtab->findAddress("alpha_switch_to", addr)) {
printThreadEvent = new PrintThreadInfo(&pcEventQueue, "threadinfo",
addr + sizeof(MachInst) * 6);
diff --git a/src/arch/alpha/linux/system.hh b/src/arch/alpha/linux/system.hh
index 5436a27b2..345c17bb7 100644
--- a/src/arch/alpha/linux/system.hh
+++ b/src/arch/alpha/linux/system.hh
@@ -123,6 +123,12 @@ class LinuxAlphaSystem : public AlphaSystem
/** Grab the PCBB of the idle process when it starts */
IdleStartEvent *idleStartEvent;
+ protected:
+ /** Setup all the function events. Must be done after init() for Alpha since
+ * fixFuncEvent() requires a function port
+ */
+ virtual void setupFuncEvents();
+
public:
typedef LinuxAlphaSystemParams Params;
LinuxAlphaSystem(Params *p);