summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
authorPolina Dudnik <pdudnik@gmail.com>2009-07-22 20:28:32 -0500
committerPolina Dudnik <pdudnik@gmail.com>2009-07-22 20:28:32 -0500
commite7a3bda4970ca2458cbd6095ec5c19e46e8c1ab8 (patch)
tree206cdd75cc61a139801254aba41d8d5e3c50bb0a /src/mem/slicc
parent9ba2ed8532de42fe3aeb386874db41bfc0fa17f6 (diff)
downloadgem5-e7a3bda4970ca2458cbd6095ec5c19e46e8c1ab8.tar.xz
Fixed the licences plus minor fixes for compilation
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/symbols/StateMachine.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/mem/slicc/symbols/StateMachine.cc b/src/mem/slicc/symbols/StateMachine.cc
index e042f9aa0..4a9ee3714 100644
--- a/src/mem/slicc/symbols/StateMachine.cc
+++ b/src/mem/slicc/symbols/StateMachine.cc
@@ -832,17 +832,21 @@ void StateMachine::printCWakeup(ostream& out, string component)
locked_read_request = addr; \n \
} \n \
else if (addr == locked_read_request) { \n \
- assert (servicing_atomic); \n \
- //servicing_atomic = m_version; \n \
+ ; // do nothing \n\
} \n \
- else { \n \
- postpone = true; \n \
- g_eventQueue_ptr->scheduleEvent(this, 1); \n \
+ else { \n \
+ assert(0); // should never be here if servicing one request at a time \n\
} \n \
} \n \
else if (addr != locked_read_request) { \n \
- postpone = true; \n \
- g_eventQueue_ptr->scheduleEvent(this, 1); \n \
+ // this is probably caused by shift optimizations \n \
+ locked_read_request = addr; \n\
+ } \n \
+ } \n \
+ else { \n \
+ if (locked_read_request != Address(-1)) { \n \
+ locked_read_request = Address(-1); \n \
+ servicing_atomic = false; \n \
} \n \
} \n \
if (!postpone) { \n \