Back to Linux

MSM Crash Dump Format

Documentation/gpu/msm-crash-dump.rst

latest2.4 KB
Original Source

:orphan:

===================== MSM Crash Dump Format

Following a GPU hang the MSM driver outputs debugging information via /sys/kernel/dri/X/show or via devcoredump (/sys/class/devcoredump/dcdX/data). This document describes how the output is formatted.

Each entry is in the form key: value. Sections headers will not have a value and all the contents of a section will be indented two spaces from the header. Each section might have multiple array entries the start of which is designated by a (-).

Mappings

kernel The kernel version that generated the dump (UTS_RELEASE).

module The module that generated the crashdump.

time The kernel time at crash formatted as seconds.microseconds.

comm Comm string for the binary that generated the fault.

cmdline Command line for the binary that generated the fault.

revision ID of the GPU that generated the crash formatted as core.major.minor.patchlevel separated by dots.

rbbm-status The current value of RBBM_STATUS which shows what top level GPU components are in use at the time of crash.

ringbuffer Section containing the contents of each ringbuffer. Each ringbuffer is identified with an id number.

id
	Ringbuffer ID (0 based index).  Each ringbuffer in the section
	will have its own unique id.
iova
	GPU address of the ringbuffer.

last-fence
	The last fence that was issued on the ringbuffer

retired-fence
	The last fence retired on the ringbuffer.

rptr
	The current read pointer (rptr) for the ringbuffer.

wptr
	The current write pointer (wptr) for the ringbuffer.

size
	Maximum size of the ringbuffer programmed in the hardware.

data
	The contents of the ring encoded as ascii85.  Only the used
	portions of the ring will be printed.

bo List of buffers from the hanging submission if available. Each buffer object will have a uinque iova.

iova
	GPU address of the buffer object.

size
	Allocated size of the buffer object.

data
	The contents of the buffer object encoded with ascii85.  Only
	Trailing zeros at the end of the buffer will be skipped.

registers Set of registers values. Each entry is on its own line enclosed by brackets { }.

offset
	Byte offset of the register from the start of the
	GPU memory region.

value
	Hexadecimal value of the register.

registers-hlsq (5xx only) Register values from the HLSQ aperture. Same format as the register section.