Thank you for the response.  I will look into creating a new packet type and 
possibly that will help avoid my problems altogether.  The problem I am having, 
hopefully described a bit better this time, is that the address stored in the 
Request is of a global variable.  The simulator knows the address of the global 
and intercepts any write to it.  The trick is the address I am actually wanting 
to work with is being written to the global address, so it is stored as the 
data of the intercepted packet, and is a virtual address.  So I would actually 
like to translate the data pointed at by the packet.

Jon
________________________________
From: [email protected] [[email protected]] on behalf of 
Ali Saidi [[email protected]]
Sent: Wednesday, August 15, 2012 12:07 AM
To: gem5 users mailing list
Subject: Re: [gem5-users] passing hints to the memory system

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]<mailto:[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