Both the virtual and physical address should be available in the Request object 
that the Packet has a pointer to. Alternate approaches could include created a 
specific packet type that contains the hint. Translation in SE mode is very 
simple, as virtual memory is allocated by the program (through sbrk or malloc) 
the next free frame starting from the bottom of memory and working up is 
allocated to it. The initial frames are used for text, data, rss segments as 
well as the initial stack. 

Ali




On Aug 14, 2012, at 12:00 PM, Shidal, Jonathan wrote:

> Hi All,
> 
> I would like to pass hints in my binary to tell the memory system it needs to 
> do work at a specific address.  Currently I am doing this by writing the 
> specified address to a global variable used only for this purpose.  From the 
> memory system, I am then intercepting the packets that are writing to the 
> global variable.  The address I need to work with is pointed to by the data 
> pointer of the packet.  The problem I am running into is the address is a 
> virtual address, and a physical address is needed in the memory system.  Can 
> anyone explain the translation process and give any hints as to how I could 
> translate a virtual address either from the packet, or before the data is 
> added to the packet on the cpu side of the memory request?  Also, if I have 
> overlooked any more straightforward approach to passing similar hints to the 
> memory system any help there would be appreciated also.  Thanks for your time.
> _______________________________________________
> 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