The resourceparse tool parses and prints data segments content. The parser's output is used by NVIDIA representatives for debugging and troubleshooting.
This tool parses the output of the "resourcedump" tool. There are several parsing methods (see --parser):
- ABD:
This parsing method receives an ADB file and parses each segment data according to the ADB layout of the node with the segment_id attribute corresponding to the segment. - Map:
This parsing method assumes that the provided resource-segments represent a memory map by DWORD pairs of address-value, and outputs each pair in a new line (similar to mstdump).
The tool applicable inputs for parsing can be the resourcedump outputs (bin file or the “human readable” format”), or the devlink json format output.
To parse the segments data in the most efficient way, the user must use the most suitable adb file. For the adb file, please contact Support.
resourceparse Usage
resourceparse -d DUMP_FILE [-p RESOURCE_PARSER] [--version] [-o OUT] [-v] -a ADB_FILE [-r]
where
-d, --dump-file | Location of the dump file used for parsing |
-p, --parser | RESOURCE_PARSER: Available options: ['adb', 'map']. Default: 'adb'. see Parsing Methods. |
-a, --adb-file | Location of the ADB file |
-h, --help | Shows this help message and exit |
--version | Shows the tool's version and exit |
-o, --out | Location of the output file |
-r, --raw | Prints the raw data in addition to the parsed data |
-v | Verbosity notice |
Examples:
How to run basic parsing:
# resourceparse --dump-file notice.txt --adb-file fw-4119-rel-16_23_2008.adb Parse 4 segments: -------------------------------------------------------------------------------- Segment - segment_info (0xfffe) segment_header.segment_type = 0xfffe segment_header.length_dw = 0x4 dump_version = 0x0 hw_version = 0x0 fw_version = 0x1063232c -------------------------------------------------------------------------------- Segment - segment_command (0xfffa) segment_header.segment_type = 0xfffa segment_header.length_dw = 0x5 vhca_id = 0x0 segment_called = 0x2000 index1 = 0x21 index2 = 0x0 num_of_obj1 = 0x0 num_of_obj2 = 0x0 -------------------------------------------------------------------------------- Segment - segment_notice (0xfff9) segment_header.segment_type = 0xfff9 segment_header.length_dw = 0xc syndrome_id = 0x211 notice[0] = 0x2000 notice[1] = 0x21 notice[2] = 0x0 notice[3] = 0x0 notice[4] = 0x496e7661 notice[5] = 0x6c696420 notice[6] = 0x52657300 notice[7] = 0x0 notice msg = !Invalid Res -------------------------------------------------------------------------------- Segment - segment_terminate (0xfffb) segment_header.segment_type = 0xfffb segment_header.length_dw = 0x1 --------------------------------------------------------------------------------
How to run parsing with ‘raw’ and ‘verbosity’ options:
# resourceparse --dump-file notice.txt --adb-file fw-4119-rel-16_23_2008.adb –raw -v Notice - adb fw version 16.23.2008 is used for parsing while dump fw version is 16.99.9004 Parse 4 segments: -------------------------------------------------------------------------------- Segment - segment_info (0xfffe) segment_header.segment_type = 0xfffe segment_header.length_dw = 0x4 dump_version = 0x0 hw_version = 0x0 fw_version = 0x1063232c RAW DATA: DWORD [0-3] :0x0004FFFE 0x00000000 0x00000000 0x1063232C -------------------------------------------------------------------------------- Segment - segment_command (0xfffa) segment_header.segment_type = 0xfffa segment_header.length_dw = 0x5 vhca_id = 0x0 segment_called = 0x2000 index1 = 0x21 index2 = 0x0 num_of_obj1 = 0x0 num_of_obj2 = 0x0 RAW DATA: DWORD [0-3] :0x0005FFFA 0x20000000 0x00000021 0x00000000 DWORD [4] :0x00000000 -------------------------------------------------------------------------------- Segment - segment_notice (0xfff9) segment_header.segment_type = 0xfff9 segment_header.length_dw = 0xc syndrome_id = 0x211 notice[0] = 0x2000 notice[1] = 0x21 notice[2] = 0x0 notice[3] = 0x0 notice[4] = 0x496e7661 notice[5] = 0x6c696420 notice[6] = 0x52657300 notice[7] = 0x0 RAW DATA: DWORD [0-3] :0x000CFFF9 0x00000211 0x00000000 0x00000000 DWORD [4-7] :0x00002000 0x00000021 0x00000000 0x00000000 DWORD [8-11] :0x496E7661 0x6C696420 0x52657300 0x00000000 notice msg = !Invalid Res -------------------------------------------------------------------------------- Segment - segment_terminate (0xfffb) segment_header.segment_type = 0xfffb segment_header.length_dw = 0x1 RAW DATA: DWORD [0] :0x0001FFFB --------------------------------------------------------------------------------
How to run parsing and save it into a file:
# resourceparse --dump-file notice.txt --adb-file fw-4119-rel-16_23_2008.adb –out out_flie.txt write to file: out_flie.txt