diff options
Diffstat (limited to 'src/arch/alpha/linux')
-rw-r--r-- | src/arch/alpha/linux/system.cc | 7 | ||||
-rw-r--r-- | src/arch/alpha/linux/system.hh | 6 |
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); |