diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc index eda62dad1..d0f946989 100644 --- a/src/cpu/thread_state.cc +++ b/src/cpu/thread_state.cc @@ -122,6 +122,30 @@ ThreadState::initMemProxies(ThreadContext *tc) } } +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() { diff --git a/src/cpu/thread_state.hh b/src/cpu/thread_state.hh index 995a870f5..d8dccc4ae 100644 --- a/src/cpu/thread_state.hh +++ b/src/cpu/thread_state.hh @@ -99,13 +99,13 @@ struct ThreadState { 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.