^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) :orphan:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) MSM Crash Dump Format
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Following a GPU hang the MSM driver outputs debugging information via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) /sys/kernel/dri/X/show or via devcoredump (/sys/class/devcoredump/dcdX/data).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) This document describes how the output is formatted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Each entry is in the form key: value. Sections headers will not have a value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) and all the contents of a section will be indented two spaces from the header.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Each section might have multiple array entries the start of which is designated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) by a (-).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Mappings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) The kernel version that generated the dump (UTS_RELEASE).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) The module that generated the crashdump.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) The kernel time at crash formated as seconds.microseconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) comm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Comm string for the binary that generated the fault.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) cmdline
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Command line for the binary that generated the fault.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) revision
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) ID of the GPU that generated the crash formatted as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) core.major.minor.patchlevel separated by dots.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) rbbm-status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) The current value of RBBM_STATUS which shows what top level GPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) components are in use at the time of crash.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ringbuffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) Section containing the contents of each ringbuffer. Each ringbuffer is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) identified with an id number.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Ringbuffer ID (0 based index). Each ringbuffer in the section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) will have its own unique id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) iova
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) GPU address of the ringbuffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) last-fence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) The last fence that was issued on the ringbuffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) retired-fence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) The last fence retired on the ringbuffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) rptr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) The current read pointer (rptr) for the ringbuffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) wptr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) The current write pointer (wptr) for the ringbuffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Maximum size of the ringbuffer programmed in the hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) The contents of the ring encoded as ascii85. Only the used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) portions of the ring will be printed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) bo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) List of buffers from the hanging submission if available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Each buffer object will have a uinque iova.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) iova
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) GPU address of the buffer object.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Allocated size of the buffer object.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) The contents of the buffer object encoded with ascii85. Only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Trailing zeros at the end of the buffer will be skipped.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) Set of registers values. Each entry is on its own line enclosed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) by brackets { }.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Byte offset of the register from the start of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) GPU memory region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) Hexadecimal value of the register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) registers-hlsq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) (5xx only) Register values from the HLSQ aperture.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) Same format as the register section.