void MemDevice::SetRequest()

in src/dpi/module.cc [202:228]


void MemDevice::SetRequest(
  uint8_t  rd_req_valid,
  uint64_t rd_req_addr,
  uint32_t rd_req_len,
  uint32_t rd_req_id,
  uint64_t wr_req_addr,
  uint32_t wr_req_len,
  uint8_t  wr_req_valid) {

  std::lock_guard<std::mutex> lock(mutex_);
  if(rd_req_addr !=0 ){
    void * rd_vaddr = vta::vmem::VirtualMemoryManager::Global()->GetAddr(rd_req_addr);
    if(rd_req_valid == 1) {
      rlen_ = rd_req_len + 1;
      rid_  = rd_req_id;
      raddr_ = reinterpret_cast<uint64_t*>(rd_vaddr);
    }
  }

  if(wr_req_addr != 0){
    void * wr_vaddr = vta::vmem::VirtualMemoryManager::Global()->GetAddr(wr_req_addr);
    if (wr_req_valid == 1) {
      wlen_ = wr_req_len + 1;
      waddr_ = reinterpret_cast<uint64_t*>(wr_vaddr);
    } 
  }
}