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

Reply via email to