[Copying my response from gem5 slack in case you don't see there] Hi Ghadeer,
I think you should be able to dump packet data with your changes in abstract_mem.cc. access() function eventually calls getData() and writeData() of packet.hh which use getSize() which gives the size of the packet. Normally, the packet size here is same as the cache line size. mem_ctrl.cc maintains two types of packets: 1) packet : which is same as outer world packet and is a single cache line size, and 2) mem_pkt: which is memory interface specific and can be smaller in size compared to a cache line. Whenever mem_ctrl.cc calls access() function of abstract_mem.cc it passes the the first type of packet (same as cache line size). The packets that are added to read/write queue are mem_pkts and can be smaller than 64B (cache line size). The size of mem_pkt depends on the burst length (atom size) of the memory interface that is used. For example for DDR4, mem_pkt size will be 64B as well. -Ayaz On Thu, Jan 26, 2023 at 11:55 PM Ghadeer Almusaddar via gem5-users < gem5-users@gem5.org> wrote: > Hello All, > > Is there any direct way in gem5 by which I can get the data of the whole > cache line for every memory read or write regardless of how many bytes are > read or written from that cache line? I also want to dump cache line data > due to memory accesses from a specific core (requestorId)? > > Thank you, > Ghadeer > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org