Changeset 82 for trunk/modules/vci_mem_cache_v4
- Timestamp:
- Sep 2, 2010, 2:22:12 PM (14 years ago)
- Location:
- trunk/modules/vci_mem_cache_v4/caba/source
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/vci_mem_cache_v4/caba/source/include/vci_mem_cache_v4.h
r2 r82 354 354 const soclib::common::AddressMaskingTable<vci_addr_t> m_nline; 355 355 356 // broadcast address 357 vci_addr_t broadcast_addr; 358 356 359 ////////////////////////////////////////////////// 357 360 // Others registers -
trunk/modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp
r57 r82 321 321 assert(nways <= 32); 322 322 323 // Set the broadcast address with Xmin,Xmax,Ymin,Ymax set to maximum 324 broadcast_addr = 0x3 | (0x7C1F << (vci_param::N-20)); 323 325 324 326 // Get the segments associated to the MemCache … … 2324 2326 } 2325 2327 if ( (p_vci_tgt_cleanup.cmd.read() == vci_param::CMD_WRITE) && 2326 (((addr_t)(p_vci_tgt_cleanup.address.read()) ) != BROADCAST_ADDR) &&2328 (((addr_t)(p_vci_tgt_cleanup.address.read())&0x3) != 0x3) && 2327 2329 reached) { 2328 2330 … … 4247 4249 p_vci_tgt.rtrdid = r_write_to_tgt_rsp_trdid.read(); 4248 4250 p_vci_tgt.rpktid = r_write_to_tgt_rsp_pktid.read(); 4249 p_vci_tgt.rerror = 0 ;4251 p_vci_tgt.rerror = 0x2 & ( (1 << (vci_param::E + 1)) - 1); // Write OK 4250 4252 p_vci_tgt.reop = true; 4251 4253 break; … … 4256 4258 p_vci_tgt.rtrdid = r_cleanup_to_tgt_rsp_trdid.read(); 4257 4259 p_vci_tgt.rpktid = r_cleanup_to_tgt_rsp_pktid.read(); 4258 p_vci_tgt.rerror = 0; 4260 p_vci_tgt.rerror = 0; // Can be a SC rsp 4259 4261 p_vci_tgt.reop = true; 4260 4262 break; … … 4283 4285 p_vci_tgt.rtrdid = r_init_rsp_to_tgt_rsp_trdid.read(); 4284 4286 p_vci_tgt.rpktid = r_init_rsp_to_tgt_rsp_pktid.read(); 4285 p_vci_tgt.rerror = 0; 4287 p_vci_tgt.rerror = 0; // Can be a SC rsp 4286 4288 p_vci_tgt.reop = true; 4287 4289 break; … … 4331 4333 case INIT_CMD_XRAM_BRDCAST: 4332 4334 p_vci_ini.cmdval = true; 4333 p_vci_ini.address = BROADCAST_ADDR;4335 p_vci_ini.address = broadcast_addr; 4334 4336 p_vci_ini.wdata = (uint32_t)r_xram_rsp_to_init_cmd_nline.read(); 4335 4337 p_vci_ini.be = ((r_xram_rsp_to_init_cmd_nline.read() >> 32) & 0x3); … … 4341 4343 case INIT_CMD_WRITE_BRDCAST: 4342 4344 p_vci_ini.cmdval = true; 4343 p_vci_ini.address = BROADCAST_ADDR;4345 p_vci_ini.address = broadcast_addr; 4344 4346 p_vci_ini.wdata = (addr_t)r_write_to_init_cmd_nline.read(); 4345 4347 p_vci_ini.be = ((r_write_to_init_cmd_nline.read() >> 32) & 0x3); … … 4396 4398 case INIT_CMD_SC_BRDCAST: 4397 4399 p_vci_ini.cmdval = true; 4398 p_vci_ini.address = BROADCAST_ADDR;4400 p_vci_ini.address = broadcast_addr; 4399 4401 p_vci_ini.wdata = (addr_t)r_llsc_to_init_cmd_nline.read(); 4400 4402 p_vci_ini.be = ((r_llsc_to_init_cmd_nline.read() >> 32) & 0x3); … … 4507 4509 p_vci_tgt_cleanup.rpktid = r_cleanup_pktid.read(); 4508 4510 p_vci_tgt_cleanup.rtrdid = r_cleanup_trdid.read(); 4509 p_vci_tgt_cleanup.rerror = 0 ;4511 p_vci_tgt_cleanup.rerror = 0x2 & ( (1 << (vci_param::E + 1)) - 1); 4510 4512 p_vci_tgt_cleanup.reop = 1; 4511 4513 break;
Note: See TracChangeset
for help on using the changeset viewer.