Index: branches/v5/modules/vci_mem_cache_dspin_coherence/caba/source/src/vci_mem_cache_dspin_coherence.cpp
===================================================================
--- branches/v5/modules/vci_mem_cache_dspin_coherence/caba/source/src/vci_mem_cache_dspin_coherence.cpp	(revision 336)
+++ branches/v5/modules/vci_mem_cache_dspin_coherence/caba/source/src/vci_mem_cache_dspin_coherence.cpp	(revision 338)
@@ -1336,12 +1336,4 @@
         }
 #endif
-/*
-          if(m_monitor_ok)
-          {
-            char buf[80];
-            snprintf(buf, 80, "READ_IDLE srcid %d, ins %d", m_cmd_read_srcid_fifo.read(), m_cmd_read_pktid_fifo.read()&0x2);
-            check_monitor_read(buf, m_cmd_read_addr_fifo.read());
-          }
-*/
         r_read_fsm = READ_DIR_REQ;
       }
@@ -1461,5 +1453,5 @@
         // TYPE_READ_INS_UNC   0bX010 with TSAR encoding
         // TYPE_READ_INS_MISS  0bX011 with TSAR encoding
-        bool inst_read    = (m_cmd_read_pktid_fifo.read() & 0x2);
+        bool inst_read    = ((m_cmd_read_pktid_fifo.read() & 0x2) != 0);
         // check if this is a cached read, this means pktid is either
         // TYPE_READ_DATA_MISS 0bX001 with TSAR encoding
@@ -1518,5 +1510,6 @@
           std::cout
               << "  <MEMC " << name() << ".READ_DIR_HIT> Update directory entry:"
-              << " set = " << std::dec << set
+              << " addr = " << std::hex << m_cmd_read_addr_fifo.read()
+              << " / set = " << std::dec << set
               << " / way = " << way
               << " / owner_id = " << entry.owner.srcid
@@ -1526,4 +1519,12 @@
         }
 #endif
+/**/
+          if(m_monitor_ok)
+          {
+            char buf[80];
+            snprintf(buf, 80, "READ_DIR_HIT srcid %d, ins %d", m_cmd_read_srcid_fifo.read(), ((m_cmd_read_pktid_fifo.read()&0x2)!=0));
+            check_monitor_read(buf, m_cmd_read_addr_fifo.read());
+          }
+/**/
 
         m_cache_directory.write(set, way, entry);
@@ -1537,4 +1538,12 @@
       // Get the lock to the HEAP directory
     {
+/**/
+          if(m_monitor_ok)
+          {
+            char buf[80];
+            snprintf(buf, 80, "READ_HEAP_REQ srcid %d, ins %d", m_cmd_read_srcid_fifo.read(), ((m_cmd_read_pktid_fifo.read()&0x2)!=0));
+            check_monitor_read(buf, m_cmd_read_addr_fifo.read());
+          }
+/**/
       if(r_alloc_heap_fsm.read() == ALLOC_HEAP_READ)
       {
@@ -1668,5 +1677,5 @@
         heap_entry.owner.cache_id = m_cmd_read_pktid_fifo.read();
 #endif
-        heap_entry.owner.inst     = (m_cmd_read_pktid_fifo.read() & 0x2);
+        heap_entry.owner.inst     = ((m_cmd_read_pktid_fifo.read() & 0x2) != 0);
 
         if(r_read_count.read() == 1)  // creation of a new linked list
@@ -3479,4 +3488,6 @@
                   << " way = " << std::dec << way
                   << " / set = " << set
+                  << " / owner_id = " << entry.owner.srcid
+                  << " / owner_ins = " << entry.owner.inst
                   << " / count = " << entry.count
                   << " / is_cnt = " << entry.is_cnt << std::endl;
@@ -4116,5 +4127,13 @@
             << " hit but copy not found"
             << std::endl;
-
+/**/
+        std::cout
+          << "r_cleanup_srcid = " << r_cleanup_srcid.read()
+          << " / r_cleanup_inst = " << r_cleanup_inst.read() << std::endl
+          << "r_cleanup_copy = " << r_cleanup_copy.read()
+          << " / r_cleanup_copy_inst = " << r_cleanup_copy_inst.read() << std::endl
+          << "heap_entry.owner.srcid = " << heap_entry.owner.srcid
+          << " / heap_entry.owner.inst = " << heap_entry.owner.inst << std::endl;
+/**/
         exit(0);
       }
@@ -4127,4 +4146,13 @@
             << " two copies matching the cleanup owner id"
             << std::endl;
+/**/
+        std::cout
+          << "r_cleanup_srcid = " << r_cleanup_srcid.read()
+          << " / r_cleanup_inst = " << r_cleanup_inst.read() << std::endl
+          << "r_cleanup_copy = " << r_cleanup_copy.read()
+          << " / r_cleanup_copy_inst = " << r_cleanup_copy_inst.read() << std::endl
+          << "heap_entry.owner.srcid = " << heap_entry.owner.srcid
+          << " / heap_entry.owner.inst = " << heap_entry.owner.inst << std::endl;
+/**/
 
         exit(0);
