Hi folks:
Recently, I am doing some research on xentrace source code. En,actually,I think the xentrace is a very useful tool for xen debug.
./xen/include/xen/trace.h ./xen/common/trace.c etc.
I got a point very confused in the source code about the trace record.
from man page "Where CPU is the processor number, TSC is the record’s timestamp (the value of the CPU cycle counter), EVENT is the event ID and D1...D5 are
the trace data." "Which correspond to the CPU number, event ID, timestamp counter and the 5 data fields from the trace record.
There should be one such rule for each type of event."
So I just wonder what does these kind of D1....D5 data mean.
I found the defined the d1-d5 structure in xen/include/public/trace.h 59 /* This structure represents a single trace buffer record. */ 60 struct t_rec { 61 uint64_t cycles; /* cycle counter timestamp */
62 uint32_t event; /* event ID */ 63 unsigned long data[5]; /* event data items */ 64 }; and defined a trace function in ./xen/common/trace.c 225 void trace(u32 event, unsigned long d1, unsigned long d2,
226 unsigned long d3, unsigned long d4, unsigned long d5) 227 { But I still can't understand what are these data real meaning I never found a place in the source code where this function void trace(...) had been called.
Can someone give me a clue about this? Or are those interfaces (d1...d5) for developers to define their own interest to track the event?
Your rapid reply will be appreciated. Thanks.
---- Regards
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|