mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
b78edd46f6
Save all information to start a task which can be exported to user for debug usage. Dump file data format is specified in lima_dump.h v2: Add include header to address build robot complain. Tested-by: Andreas Baierl <ichgeh@imkreisrum.de> Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200307134423.24329-1-yuq825@gmail.com
78 lines
1.5 KiB
C
78 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 OR MIT */
|
|
/* Copyright 2020 Qiang Yu <yuq825@gmail.com> */
|
|
|
|
#ifndef __LIMA_DUMP_H__
|
|
#define __LIMA_DUMP_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
/**
|
|
* dump file format for all the information to start a lima task
|
|
*
|
|
* top level format
|
|
* | magic code "LIMA" | format version | num tasks | data size |
|
|
* | reserved | reserved | reserved | reserved |
|
|
* | task 1 ID | task 1 size | num chunks | reserved | task 1 data |
|
|
* | task 2 ID | task 2 size | num chunks | reserved | task 2 data |
|
|
* ...
|
|
*
|
|
* task data format
|
|
* | chunk 1 ID | chunk 1 size | reserved | reserved | chunk 1 data |
|
|
* | chunk 2 ID | chunk 2 size | reserved | reserved | chunk 2 data |
|
|
* ...
|
|
*
|
|
*/
|
|
|
|
#define LIMA_DUMP_MAJOR 1
|
|
#define LIMA_DUMP_MINOR 0
|
|
|
|
#define LIMA_DUMP_MAGIC 0x414d494c
|
|
|
|
struct lima_dump_head {
|
|
__u32 magic;
|
|
__u16 version_major;
|
|
__u16 version_minor;
|
|
__u32 num_tasks;
|
|
__u32 size;
|
|
__u32 reserved[4];
|
|
};
|
|
|
|
#define LIMA_DUMP_TASK_GP 0
|
|
#define LIMA_DUMP_TASK_PP 1
|
|
#define LIMA_DUMP_TASK_NUM 2
|
|
|
|
struct lima_dump_task {
|
|
__u32 id;
|
|
__u32 size;
|
|
__u32 num_chunks;
|
|
__u32 reserved;
|
|
};
|
|
|
|
#define LIMA_DUMP_CHUNK_FRAME 0
|
|
#define LIMA_DUMP_CHUNK_BUFFER 1
|
|
#define LIMA_DUMP_CHUNK_PROCESS_NAME 2
|
|
#define LIMA_DUMP_CHUNK_PROCESS_ID 3
|
|
#define LIMA_DUMP_CHUNK_NUM 4
|
|
|
|
struct lima_dump_chunk {
|
|
__u32 id;
|
|
__u32 size;
|
|
__u32 reserved[2];
|
|
};
|
|
|
|
struct lima_dump_chunk_buffer {
|
|
__u32 id;
|
|
__u32 size;
|
|
__u32 va;
|
|
__u32 reserved;
|
|
};
|
|
|
|
struct lima_dump_chunk_pid {
|
|
__u32 id;
|
|
__u32 size;
|
|
__u32 pid;
|
|
__u32 reserved;
|
|
};
|
|
|
|
#endif
|