Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/generic_llsc_global_table/include/generic_llsc_global_table.h
r514 r523 453 453 } 454 454 */ 455 inline void sw(const addr_t nline, unsigned int min, unsigned intmax)455 inline void sw(const addr_t ad_min, const addr_t ad_max) 456 456 // This method checks if there is / are valid registration(s) for the given 457 457 // range and, in case of hit(s), invalidates the registration(s) … … 466 466 467 467 // for every address in the given range ... 468 for ( unsigned int i = min; i <=max; i++)468 for (addr_t i = ad_min; i <= ad_max; i++) 469 469 { 470 470 // Is there a registration for the given address ? 471 int pos = hitAddr(nline + i * 4); 471 int pos = hitAddr(i); 472 472 473 // If there is one, invalidate it 473 474 if (pos >= 0) -
trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp
r512 r523 2757 2757 { 2758 2758 // We enter here if it is a SW command or an already tested SC command 2759 2760 m_llsc_table.sw( m_nline[(addr_t)r_write_address.read()],2761 r_write_word_index.read(), 2762 r_write_word_index.read() + r_write_word_count.read());2759 addr_t min = r_write_address.read(); 2760 addr_t max = r_write_address.read() + r_write_word_count.read() - 1; 2761 2762 m_llsc_table.sw(min, max); 2763 2763 2764 2764 r_write_fsm = WRITE_DIR_LOCK; … … 5278 5278 5279 5279 // The CAS is a success => sw access to the llsc_global_table 5280 m_llsc_table.sw( m_nline[(addr_t)m_cmd_cas_addr_fifo.read()], 5281 m_x[(addr_t)(m_cmd_cas_addr_fifo.read())], 5282 m_x[(addr_t)(m_cmd_cas_addr_fifo.read())] ); 5280 m_llsc_table.sw(m_cmd_cas_addr_fifo.read(), m_cmd_cas_addr_fifo.read()); 5283 5281 5284 5282 // test coherence request
Note: See TracChangeset
for help on using the changeset viewer.