image image image image image

On This Page

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