Back to home page

OSCL-LXR

 
 

    


0001 :orphan:
0002 
0003 =====================
0004 MSM Crash Dump Format
0005 =====================
0006 
0007 Following a GPU hang the MSM driver outputs debugging information via
0008 /sys/kernel/dri/X/show or via devcoredump (/sys/class/devcoredump/dcdX/data).
0009 This document describes how the output is formatted.
0010 
0011 Each entry is in the form key: value. Sections headers will not have a value
0012 and all the contents of a section will be indented two spaces from the header.
0013 Each section might have multiple array entries the start of which is designated
0014 by a (-).
0015 
0016 Mappings
0017 --------
0018 
0019 kernel
0020         The kernel version that generated the dump (UTS_RELEASE).
0021 
0022 module
0023         The module that generated the crashdump.
0024 
0025 time
0026         The kernel time at crash formated as seconds.microseconds.
0027 
0028 comm
0029         Comm string for the binary that generated the fault.
0030 
0031 cmdline
0032         Command line for the binary that generated the fault.
0033 
0034 revision
0035         ID of the GPU that generated the crash formatted as
0036         core.major.minor.patchlevel separated by dots.
0037 
0038 rbbm-status
0039         The current value of RBBM_STATUS which shows what top level GPU
0040         components are in use at the time of crash.
0041 
0042 ringbuffer
0043         Section containing the contents of each ringbuffer. Each ringbuffer is
0044         identified with an id number.
0045 
0046         id
0047                 Ringbuffer ID (0 based index).  Each ringbuffer in the section
0048                 will have its own unique id.
0049         iova
0050                 GPU address of the ringbuffer.
0051 
0052         last-fence
0053                 The last fence that was issued on the ringbuffer
0054 
0055         retired-fence
0056                 The last fence retired on the ringbuffer.
0057 
0058         rptr
0059                 The current read pointer (rptr) for the ringbuffer.
0060 
0061         wptr
0062                 The current write pointer (wptr) for the ringbuffer.
0063 
0064         size
0065                 Maximum size of the ringbuffer programmed in the hardware.
0066 
0067         data
0068                 The contents of the ring encoded as ascii85.  Only the used
0069                 portions of the ring will be printed.
0070 
0071 bo
0072         List of buffers from the hanging submission if available.
0073         Each buffer object will have a uinque iova.
0074 
0075         iova
0076                 GPU address of the buffer object.
0077 
0078         size
0079                 Allocated size of the buffer object.
0080 
0081         data
0082                 The contents of the buffer object encoded with ascii85.  Only
0083                 Trailing zeros at the end of the buffer will be skipped.
0084 
0085 registers
0086         Set of registers values. Each entry is on its own line enclosed
0087         by brackets { }.
0088 
0089         offset
0090                 Byte offset of the register from the start of the
0091                 GPU memory region.
0092 
0093         value
0094                 Hexadecimal value of the register.
0095 
0096 registers-hlsq
0097                 (5xx only) Register values from the HLSQ aperture.
0098                 Same format as the register section.