translation VA in handleRequest in rtlNVDLA when already having PA?
hi sir, I am learning about the rtl + gem5 system, and the flow in rtlObject::CPUSidePort::recvTimingReq(PacketPtr pkt) makes me confused.
the handleRequest in L99 is used to translate VA to PA, because it is only executed when pkt->req->hasPaddr() is false, which means the packet address is VA , and has not be translated yet,
but in the L104 call the handleRequest a twice time, and the implementation iof handleRequest is to use pkt->req->getVaddr()
to do a translation, and there is no different in the two handleRequest calls, so how should this works , can you help me to clear it ?
https://gitlab.bsc.es/glopez/gem5-rtl/-/blob/use-case-nvdla/src/rtl/rtlObject.cc#L89
https://gitlab.bsc.es/glopez/gem5-rtl/-/blob/use-case-nvdla/src/rtl/rtlObject.cc#L99
https://gitlab.bsc.es/glopez/gem5-rtl/-/blob/use-case-nvdla/src/rtl/rtlObject.cc#L104
https://gitlab.bsc.es/glopez/gem5-rtl/-/blob/use-case-nvdla/src/rtl/rtlNVDLA.cc#L108