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