summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
authorDerek Hower <drh5@cs.wisc.edu>2009-08-25 10:37:21 -0500
committerDerek Hower <drh5@cs.wisc.edu>2009-08-25 10:37:21 -0500
commit15aa18057030e00535b6c6df7649f73e6b794d50 (patch)
tree8496ed38761ce3b042dae422d3ef6d4fca95e1b6 /src/mem/slicc
parent6cd552483b3499acea94568221a4723ce290fe41 (diff)
parenta4fc1bad94f028111dcf36ac53c42e5dab79605d (diff)
downloadgem5-15aa18057030e00535b6c6df7649f73e6b794d50.tar.xz
merge
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/symbols/StateMachine.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mem/slicc/symbols/StateMachine.cc b/src/mem/slicc/symbols/StateMachine.cc
index 0a3d4a85d..86f92b692 100644
--- a/src/mem/slicc/symbols/StateMachine.cc
+++ b/src/mem/slicc/symbols/StateMachine.cc
@@ -862,7 +862,19 @@ void StateMachine::printCWakeup(ostream& out, string component)
assert(0); \n \
} \n \
} \n \
- } \n \
+ } \n \
+ else { \n \
+ if (servicing_atomic > 0) { \n \
+ // reset \n \
+ servicing_atomic = 0; \n \
+ read_counter = 0; \n \
+ started_receiving_writes = false; \n \
+ locked_read_request1 = Address(-1); \n \
+ locked_read_request2 = Address(-1); \n \
+ locked_read_request3 = Address(-1); \n \
+ locked_read_request4 = Address(-1); \n \
+ } \n \
+ } \n \
";
output.insert(pos, atomics_string);
/*string foo = "// Cannot do anything with this transition, go check next doable transition (mostly likely of next port)\n";