Changeset 108 for trunk/modules/vci_cc_vcache_wrapper2_v1/caba/source
- Timestamp:
- Oct 19, 2010, 12:32:49 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/vci_cc_vcache_wrapper2_v1/caba/source/src/vci_cc_vcache_wrapper2_v1.cpp
r104 r108 700 700 (paddr_t)p_vci_tgt.wdata.read() * m_dcache_words * 4; 701 701 702 if ( (address &0x3) == 0x3 ) // broadcast invalidate for data or instruction type702 if ( (address&0x3) == 0x3 ) // broadcast invalidate for data or instruction type 703 703 { 704 704 if ( ! p_vci_tgt.eop.read() ) … … 2078 2078 std::cout << name() << " Instruction Response: " << irsp << std::endl; 2079 2079 #endif 2080 2081 2080 //////////////////////////////////////////////////////////////////////////////////// 2082 2081 // INVAL ITLB CHECK FSM … … 4465 4464 r_dcache_itlb_inval_req = r_dcache_in_itlb[m_dcache_sets*way+set]; 4466 4465 r_dcache_itlb_inval_line = victim_index; 4467 r_dcache_in_itlb[way*m_dcache_sets+set] = false;4468 4466 4469 4467 // data tlb invalidate verification 4470 4468 r_dcache_dtlb_inval_req = r_dcache_in_dtlb[m_dcache_sets*way+set]; 4471 4469 r_dcache_dtlb_inval_line = victim_index; 4472 r_dcache_in_dtlb[way*m_dcache_sets+set] = false;4473 4470 4474 4471 r_dcache_cleanup_req = true; 4475 4472 r_dcache_cleanup_line = victim_index; 4476 4473 m_cpt_cc_cleanup_data++; 4474 4477 4475 if ( r_dcache_in_itlb[m_dcache_sets*way+set] || r_dcache_in_dtlb[m_dcache_sets*way+set] ) 4478 4476 { 4479 4477 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4480 4478 r_dcache_fsm_save = r_dcache_fsm; 4479 r_dcache_in_itlb[way*m_dcache_sets+set] = false; 4480 r_dcache_in_dtlb[way*m_dcache_sets+set] = false; 4481 4481 break; 4482 4482 } … … 4738 4738 r_dcache_itlb_inval_req = r_dcache_in_itlb[m_dcache_sets*way+set]; 4739 4739 r_dcache_itlb_inval_line = victim_index; 4740 r_dcache_in_itlb[way*m_dcache_sets+set] = false;4741 4740 4742 4741 // data tlb invalidate verification 4743 4742 r_dcache_dtlb_inval_req = r_dcache_in_dtlb[m_dcache_sets*way+set]; 4744 4743 r_dcache_dtlb_inval_line = victim_index; 4745 r_dcache_in_dtlb[way*m_dcache_sets+set] = false;4746 4744 4747 4745 r_dcache_cleanup_req = true; … … 4752 4750 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4753 4751 r_dcache_fsm_save = r_dcache_fsm; 4752 r_dcache_in_itlb[way*m_dcache_sets+set] = false; 4753 r_dcache_in_dtlb[way*m_dcache_sets+set] = false; 4754 4754 break; 4755 4755 } … … 5132 5132 std::cout << name() << " Data Response: " << drsp << std::endl; 5133 5133 #endif 5134 5135 5134 //////////////////////////////////////////////////////////////////////////////////// 5136 5135 // INVAL DTLB CHECK FSM … … 6046 6045 6047 6046 } // end switch TGT_FSM 6048 6049 6047 #ifdef SOCLIB_MODULE_DEBUG 6050 6048 std::cout << name()
Note: See TracChangeset
for help on using the changeset viewer.