Skip to content
Snippets Groups Projects
Commit d025a0db authored by David Garibaldi's avatar David Garibaldi Committed by Dave
Browse files

lrdpv2: Make QDSS binary data parsing optional

Debug image parsing currently includes QDSS ETM and ETR binary data
parsing by default. However, these two parsing operations can take a
significant amount of time if either of their respective data buffers
are very large. Furthermore, this binary data is not needed for most
common debug image parsing use cases.

Add an argument to optionally disable QDSS ETM and ETR binary data
parsing when debug image parsing has also been selected.

Change-Id: Iab25c15d00dde1bb5dfafb3149e6e55760fd6291
parent dd7a25de
No related branches found
No related tags found
No related merge requests found
......@@ -525,7 +525,10 @@ class DebugImage_v2():
getattr(DebugImage_v2, func)(self, dump_data_version, dump_data_addr, dump_data_addr + dump_data_len,
client_id, ram_dump)
self.qdss.dump_all(ram_dump)
self.qdss.dump_standard(ram_dump)
if not ram_dump.skip_qdss_bin:
self.qdss.save_etf_bin(ram_dump)
self.qdss.save_etr_bin(ram_dump)
if ram_dump.qtf:
self.parse_qtf(ram_dump)
if ram_dump.dcc:
......
......@@ -190,7 +190,10 @@ class DebugImage(RamParser):
client_end, client_name)
print_out_str('--------')
self.qdss.dump_all(self.ramdump)
self.qdss.dump_standard(self.ramdump)
if not self.ramdump.skip_qdss_bin:
self.qdss.save_etf_bin(self.ramdump)
self.qdss.save_etr_bin(self.ramdump)
def parse(self):
# use the mem_dump_data variable to detect if debug image feature was compiled in,
......
......@@ -455,10 +455,8 @@ class QDSSDump():
ram_dump.read_u32(self.dbgui_start + data_offset + (4 * i), False)))
dbgui_out.close()
def dump_all(self, ram_dump):
def dump_standard(self, ram_dump):
self.print_tmc_etf(ram_dump)
self.print_tmc_etr(ram_dump)
self.print_dbgui_registers(ram_dump)
self.print_all_etm_register(ram_dump)
self.save_etf_bin(ram_dump)
self.save_etr_bin(ram_dump)
......@@ -441,6 +441,7 @@ class RamDump():
self.thread_size = 8192
self.qtf_path = options.qtf_path
self.qtf = options.qtf
self.skip_qdss_bin = options.skip_qdss_bin
self.dcc = False
self.t32_host_system = options.t32_host_system or None
self.ipc_log_test = options.ipc_test
......
......@@ -134,6 +134,10 @@ if __name__ == '__main__':
help='Use QTF tool to parse and save QDSS trace data')
parser.add_option('', '--qtf-path', dest='qtf_path',
help='QTF tool executable')
parser.add_option('', '--skip-qdss-bin', action='store_true',
dest='skip_qdss_bin', help='Skip QDSS ETF and ETR '
'binary data parsing from debug image (may save time '
'if large ETM and ETR buffers are present)')
parser.add_option('', '--ipc-help', dest='ipc_help',
help='Help for IPC Logging', action='store_true',
default=False)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment