Hi May,

Packets classified as writes in the memory controller are due to
writebacks from the last-level cache. Writeback packets will have a
physical address but will not have a valid virtual address.

Mapping a physical address to a virtual address in the general case is
not straightforward. In fact, one physical address might map to multiple
virtual addresses.

There are a couple of workarounds which might or might not be applicable
in your use case. For example, you could add a field in the CacheBlk
with the virtual address of the first or last request that accessed it
and then copy it to writeback packet when the block is evicted.

Hope this helps.

Nikos

On 25/07/2020 11:38, may via gem5-users wrote:
Hi,

I want to get the virtual address of the write packet accepted by the
memory controller.
However, I find that only read packets have virtual addresses. For write
packets, pkt->req->hasVaddr() is set false. It only has a physical address.
Is there any method to get the virtual addresses of write requests?

Thanks,
May

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to