MESI CMP: Unset TBE pointer in L2 cache controller
authorNilay Vaish <nilay@cs.wisc.edu>
Tue, 8 Feb 2011 13:47:02 +0000 (07:47 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Tue, 8 Feb 2011 13:47:02 +0000 (07:47 -0600)
The TBE pointer in the MESI CMP implementation was not being set to NULL
when the TBE is deallocated. This resulted in segmentation fault on testing
the protocol when the ProtocolTrace was switched on.

src/mem/protocol/MESI_CMP_directory-L2cache.sm

index 94dd949c57fa7997fa2753899a57f82a297d3764..c037527de39e707c7b6298d539776097a386a441 100644 (file)
@@ -593,6 +593,7 @@ machine(L2Cache, "MESI Directory L2 Cache CMP")
 
   action(s_deallocateTBE, "s", desc="Deallocate external TBE") {
     L2_TBEs.deallocate(address);
+    unset_tbe();
   }
 
   action(jj_popL1RequestQueue, "\j", desc="Pop incoming L1 request queue") {