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.