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


Date: Thu, 8 Jul 2010 23:43:17 +0800
From: Sitos Lin <sitos.lin@xxxxxxxxx>
Subject: [Gems-users] Get the content (data) of memory operations
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
[← Prev in Thread] Current Thread [Next in Thread→]