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
