You can add events like the following:
if
(kernelSymtab->findAddress("__udelay", addr)) {
uDelaySkipEvent =
new UDelayEvent(&pcEventQueue, "__udelay", fixFuncEventAddr(addr), 1000,
0);
}
This could be based on parameters and will work just fine if
you are interested in kernel events.
You can also add m5 ops to binary
of interest for example m5 work begin and m5 work end to signify you're
in the region of interest or have completed N transactions and want to
create a checkpoint, etc.
There is no easy way to get a symbol table
of a user process while executing in the simulator, but if you know a
virtual address or a physical address (not symbol) you can create an
event for it like the UDelayEvent above that does whatever you like.
Ali
On Thu, 15 Dec 2011 22:24:54 +0800, "huangyongbing" wrote:
Hi,
To my understanding, there are no interfaces to monitor virtual
PC addresses provided by gem5. The most convenient way is
instrumentation.
-Yongbing Huang
FROM: [email protected]
[mailto:[email protected]] ON BEHALF OF Anders Handler
SENT:
Thursday, December 15, 2011 8:13 PM
TO: gem5 users mailing list
SUBJECT:
[gem5-users] Dump trace to file using breakpoints
Hi,
I am making
full system simulations on X86. What I would like to do is to make
"breakpoints" which can start and stop statistics and dump trace to a
file.
My breakpoints should simply be virtual PC addresses (I will
find a method to handle multiple programs having the same virtual
address space, thus triggering the breakpoints)
Are there any good
way of doing this? Is there an easy way to create breakpoints like from
Python?
Thanks in advance!
Best regards
Anders
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users