diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2012-07-10 22:51:53 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2012-07-10 22:51:53 -0700 |
commit | 4a52a6ea2d84933a1ac8418fe2ba9222832a690d (patch) | |
tree | 679d9e6737c7732340a298fd047a195b8c445436 | |
parent | 11b725c19da4d08ae471678f6da867c67e3c15b5 (diff) | |
download | gem5-4a52a6ea2d84933a1ac8418fe2ba9222832a690d.tar.xz |
cpu: added assertions to ensure the correct proxies are used
-rw-r--r-- | src/cpu/thread_state.cc | 24 | ||||
-rw-r--r-- | src/cpu/thread_state.hh | 6 |
2 files changed, 27 insertions, 3 deletions
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. |