Re: [Gems-users] Get the content (data) of memory operations


Date: Thu, 8 Jul 2010 10:48:47 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Get the content (data) of memory operations
Try SIMICS_read_physical_memory(). see $GEMS/ruby/simics/interface.h
To get a phyisical_address_t from a Ruby Address object, use the getAddress() function.

Regards,
Dan

On Thu, Jul 8, 2010 at 10:43 AM, Sitos Lin <sitos.lin@xxxxxxxxx> wrote:
Dear all:
 I am using MOSI_SMP_bcast as the coherence protocol. I modified
generated/MOSI_SMP_bcast/L1Cache_Wakeup.C to get the memory
operations. My approach is to check the L2 miss to know the READ
operations and check the replacement of dirty cache lines to know the
WRITE operations. To get the memory operation traces including
timestamps and addresses, this approach works very well. However, I
want to know the content of memory operations, now. This means that I
want to know what is read/written from/to the memory. I found a simics
API, SIM_read_phys_memory(), which can get the content by a physical
address. But, I do not have the physical address. I only have the
Address defined by gems(ruby). The address is obtained by cacheProbe.
How can I translate the Address to logical_address_t or
physical_address_t defined by simics to utilize
SIM_read_phys_memory()? Besides that, SIM_read_phys_memory requires
conf_object_t *cpu. Where should I pass the argument to wakeup() in
L1Cache_Wakeup.C? Thank you a lot.
Best regards,
 Sitos
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.




--
http://www.cs.wisc.edu/~gibson [esc]:wq!
[← Prev in Thread] Current Thread [Next in Thread→]