18c2ecf20Sopenharmony_ci:orphan: 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci===================== 48c2ecf20Sopenharmony_ciMSM Crash Dump Format 58c2ecf20Sopenharmony_ci===================== 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciFollowing a GPU hang the MSM driver outputs debugging information via 88c2ecf20Sopenharmony_ci/sys/kernel/dri/X/show or via devcoredump (/sys/class/devcoredump/dcdX/data). 98c2ecf20Sopenharmony_ciThis document describes how the output is formatted. 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciEach entry is in the form key: value. Sections headers will not have a value 128c2ecf20Sopenharmony_ciand all the contents of a section will be indented two spaces from the header. 138c2ecf20Sopenharmony_ciEach section might have multiple array entries the start of which is designated 148c2ecf20Sopenharmony_ciby a (-). 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciMappings 178c2ecf20Sopenharmony_ci-------- 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_cikernel 208c2ecf20Sopenharmony_ci The kernel version that generated the dump (UTS_RELEASE). 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cimodule 238c2ecf20Sopenharmony_ci The module that generated the crashdump. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_citime 268c2ecf20Sopenharmony_ci The kernel time at crash formated as seconds.microseconds. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_cicomm 298c2ecf20Sopenharmony_ci Comm string for the binary that generated the fault. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cicmdline 328c2ecf20Sopenharmony_ci Command line for the binary that generated the fault. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_cirevision 358c2ecf20Sopenharmony_ci ID of the GPU that generated the crash formatted as 368c2ecf20Sopenharmony_ci core.major.minor.patchlevel separated by dots. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_cirbbm-status 398c2ecf20Sopenharmony_ci The current value of RBBM_STATUS which shows what top level GPU 408c2ecf20Sopenharmony_ci components are in use at the time of crash. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciringbuffer 438c2ecf20Sopenharmony_ci Section containing the contents of each ringbuffer. Each ringbuffer is 448c2ecf20Sopenharmony_ci identified with an id number. 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci id 478c2ecf20Sopenharmony_ci Ringbuffer ID (0 based index). Each ringbuffer in the section 488c2ecf20Sopenharmony_ci will have its own unique id. 498c2ecf20Sopenharmony_ci iova 508c2ecf20Sopenharmony_ci GPU address of the ringbuffer. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci last-fence 538c2ecf20Sopenharmony_ci The last fence that was issued on the ringbuffer 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci retired-fence 568c2ecf20Sopenharmony_ci The last fence retired on the ringbuffer. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci rptr 598c2ecf20Sopenharmony_ci The current read pointer (rptr) for the ringbuffer. 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci wptr 628c2ecf20Sopenharmony_ci The current write pointer (wptr) for the ringbuffer. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci size 658c2ecf20Sopenharmony_ci Maximum size of the ringbuffer programmed in the hardware. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci data 688c2ecf20Sopenharmony_ci The contents of the ring encoded as ascii85. Only the used 698c2ecf20Sopenharmony_ci portions of the ring will be printed. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_cibo 728c2ecf20Sopenharmony_ci List of buffers from the hanging submission if available. 738c2ecf20Sopenharmony_ci Each buffer object will have a uinque iova. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci iova 768c2ecf20Sopenharmony_ci GPU address of the buffer object. 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci size 798c2ecf20Sopenharmony_ci Allocated size of the buffer object. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci data 828c2ecf20Sopenharmony_ci The contents of the buffer object encoded with ascii85. Only 838c2ecf20Sopenharmony_ci Trailing zeros at the end of the buffer will be skipped. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ciregisters 868c2ecf20Sopenharmony_ci Set of registers values. Each entry is on its own line enclosed 878c2ecf20Sopenharmony_ci by brackets { }. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci offset 908c2ecf20Sopenharmony_ci Byte offset of the register from the start of the 918c2ecf20Sopenharmony_ci GPU memory region. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci value 948c2ecf20Sopenharmony_ci Hexadecimal value of the register. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciregisters-hlsq 978c2ecf20Sopenharmony_ci (5xx only) Register values from the HLSQ aperture. 988c2ecf20Sopenharmony_ci Same format as the register section. 99