: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.