Changeset 72 for trunk/modules/vci_cc_vcache_wrapper2_v1
- Timestamp:
- Aug 6, 2010, 10:32:14 PM (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
r71 r72 4119 4119 { 4120 4120 // data TLB flush 4121 dcache_tlb.flush(true); // global entries are notinvalidated4121 dcache_tlb.flush(true); // global entries are invalidated 4122 4122 r_dtlb_translation_valid = false; 4123 4123 r_dcache_ptba_ok = false; … … 4379 4379 r_dcache_cleanup_line = victim_index; 4380 4380 m_cpt_cc_cleanup_data++; 4381 if ( r_dcache_in_itlb[m_dcache_sets*way+set] || r_dcache_in_dtlb[m_dcache_sets*way+set] ) 4382 { 4383 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4384 r_dcache_fsm_save = r_dcache_fsm; 4385 break; 4386 } 4381 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4382 r_dcache_fsm_save = r_dcache_fsm; 4383 break; 4387 4384 } 4388 4385 m_cpt_dcache_dir_write++; … … 4596 4593 r_dcache_cleanup_line = victim_index; 4597 4594 m_cpt_cc_cleanup_data++; 4598 if ( r_dcache_in_itlb[m_dcache_sets*way+set] || r_dcache_in_dtlb[m_dcache_sets*way+set] ) 4599 { 4600 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4601 r_dcache_fsm_save = r_dcache_fsm; 4602 break; 4603 } 4595 r_dcache_fsm = DCACHE_TLB_CC_INVAL; 4596 r_dcache_fsm_save = r_dcache_fsm; 4597 break; 4604 4598 } 4605 4599 … … 4743 4737 ( (r_dcache_paddr_save.read() & ~((m_dcache_words<<2)-1)) == (r_tgt_addr.read() & ~((m_dcache_words<<2)-1)))) 4744 4738 || (( ( r_dcache_fsm_save == DCACHE_TLB1_READ ) || ( r_dcache_fsm_save == DCACHE_TLB2_READ ) || 4745 ( r_dcache_fsm_save == DCACHE_TLB1_READ_UPDT ) || ( r_dcache_fsm_save == DCACHE_TLB2_READ_UPDT ) || 4746 ( r_dcache_fsm_save == DCACHE_TLB1_UPDT ) || ( r_dcache_fsm_save == DCACHE_TLB2_UPDT ) /* || 4739 ( r_dcache_fsm_save == DCACHE_TLB1_READ_UPDT ) || ( r_dcache_fsm_save == DCACHE_TLB2_READ_UPDT) /* || 4747 4740 ( r_dcache_fsm_save == DCACHE_TLB1_LL_WAIT ) || ( r_dcache_fsm_save == DCACHE_TLB2_LL_WAIT ) || 4748 4741 ( r_dcache_fsm_save == DCACHE_TLB1_SC_WAIT ) || ( r_dcache_fsm_save == DCACHE_TLB2_SC_WAIT ) || … … 4781 4774 if ( dcache_hit ) 4782 4775 { 4776 if (((r_dcache_tlb_paddr.read() & ~((m_dcache_words<<2)-1)) == 4777 (r_tgt_addr.read() & ~((m_dcache_words<<2)-1))) && 4778 (r_dcache_fsm_save == DCACHE_TLB1_UPDT || 4779 r_dcache_fsm_save == DCACHE_TLB2_UPDT)) 4780 r_dcache_inval_rsp = true; 4783 4781 if ( r_dcache_in_dtlb[m_dcache_sets*way+set] || r_dcache_in_itlb[m_dcache_sets*way+set] ) 4784 4782 {
Note: See TracChangeset
for help on using the changeset viewer.