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);
}
}
}