diff --git a/src/cpu/thread_state.hh b/src/cpu/thread_state.hh --- a/src/cpu/thread_state.hh +++ b/src/cpu/thread_state.hh @@ -99,13 +99,13 @@ TheISA::Kernel::Statistics *getKernelStats() { return kernelStats; } - PortProxy &getPhysProxy() { return *physProxy; } + PortProxy &getPhysProxy(); - FSTranslatingPortProxy &getVirtProxy() { return *virtProxy; } + FSTranslatingPortProxy &getVirtProxy(); Process *getProcessPtr() { return process; } - SETranslatingPortProxy &getMemProxy() { return *proxy; } + SETranslatingPortProxy &getMemProxy(); /** Reads the number of instructions functionally executed and * committed. diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc --- a/src/cpu/thread_state.cc +++ b/src/cpu/thread_state.cc @@ -122,6 +122,30 @@ } } +PortProxy & +ThreadState::getPhysProxy() +{ + assert(FullSystem); + assert(physProxy != NULL); + return *physProxy; +} + +FSTranslatingPortProxy & +ThreadState::getVirtProxy() +{ + assert(FullSystem); + assert(virtProxy != NULL); + return *virtProxy; +} + +SETranslatingPortProxy & +ThreadState::getMemProxy() +{ + assert(!FullSystem); + assert(proxy != NULL); + return *proxy; +} + void ThreadState::profileClear() {