Hi, Looking at src/mem/request.hh, I see that there are the following 3 methods: getPC(), getPaddr(), and getVaddr(); The description of each are given in the following: _pc: program counter of initiating access; for tracing/debugging _paddr: The physical address of the request. _vaddr: The virtual address of the request.
So what exactly is _pc? If _pc holds the virtual address to the instruction sending out the request to access the cache, then it should be equal to _vaddr. If _pc holds the physical address to the instruction sending out the request to access the cache, then it should be equal to _paddr. I am confused why there are 3 of them, pc, paddr, and vaddr, since one of them has to be a repeat... Thanks, Steve On Tue, Aug 16, 2011 at 8:14 PM, <[email protected]> wrote: > If I remember it correctly, the addresses exposed to cache modules are all > physical addresses. > > Leonard > > > > > On , Stevenson Jian <[email protected]> wrote: > > Hi,I would like to trace the physical address of the instruction that is > accessing the cache. I see that there is in the packet going from the CPU to > the cache there is the PacketPtr->getPC() method. I assume that this is the > virtual address of the instruction reading the cache. However, what would be > the best way to go about getting the physical address of the instruction > accessing the cache? > > > > Thanks a lot of your help, > > Steve > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
