Skip to content

Commit c7f26ba

Browse files
KaigeFulijinxia
authored andcommitted
tools: acrntrace: Add support for TRACE_6C/16STR
We have TRACE_6C and TRACE_16STR API in hypervisor now. It's time to add support for parsing data traced by both APIs. Signed-off-by: Kaige Fu <kaige.fu@intel.com> Reviewed-by: Yan, Like <like.yan@intel.com>
1 parent 3195bc4 commit c7f26ba

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

tools/acrntrace/scripts/acrntrace_format.py

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ def read_format(format_file):
7070
HDRREC = "Q"
7171
D2REC = "QQ"
7272
D4REC = "IIII"
73+
D8REC = "BBBBBBBBBBBBBBBB"
74+
D16REC = "bbbbbbbbbbbbbbbb"
7375

7476
def main_loop(formats, fd):
7577
global exit
@@ -97,6 +99,18 @@ def main_loop(formats, fd):
9799
d2 = 0
98100
d3 = 0
99101
d4 = 0
102+
d5 = 0
103+
d6 = 0
104+
d7 = 0
105+
d8 = 0
106+
d9 = 0
107+
d10 = 0
108+
d11 = 0
109+
d12 = 0
110+
d13 = 0
111+
d14 = 0
112+
d15 = 0
113+
d16 = 0
100114

101115
if n_data == 2:
102116
line = fd.read(struct.calcsize(D2REC))
@@ -110,13 +124,42 @@ def main_loop(formats, fd):
110124
break
111125
(d1, d2, d3, d4) = struct.unpack(D4REC, line)
112126

127+
if n_data == 8:
128+
line = fd.read(struct.calcsize(D8REC))
129+
if not line:
130+
break
131+
# TRACE_6C using the first 6 data of fields_8. Actaully we have
132+
# 16 data in every trace entry.
133+
(d1, d2, d3, d4, d5, d6, d7, d8,
134+
d9, d10, d11, d12, d13, d14, d15, d16) = struct.unpack(D8REC, line)
135+
136+
if n_data == 16:
137+
line = fd.read(struct.calcsize(D16REC))
138+
if not line:
139+
break
140+
141+
(d1, d2, d3, d4, d5, d6, d7, d8,
142+
d9, d10, d11, d12, d13, d14, d15, d16) = struct.unpack(D16REC, line)
143+
113144
args = {'cpu' : cpu,
114145
'tsc' : tsc,
115146
'event' : event,
116147
'1' : d1,
117148
'2' : d2,
118149
'3' : d3,
119-
'4' : d4 }
150+
'4' : d4,
151+
'5' : d5,
152+
'6' : d6,
153+
'7' : d7,
154+
'8' : d8,
155+
'9' : d9,
156+
'10' : d10,
157+
'11' : d11,
158+
'12' : d12,
159+
'13' : d13,
160+
'14' : d14,
161+
'15' : d15,
162+
'16' : d16 }
120163

121164
try:
122165
if str(event) in formats.keys():

0 commit comments

Comments
 (0)