0001
0002
0003
0004
0005
0006 #ifndef __CUDBG_LIB_COMMON_H__
0007 #define __CUDBG_LIB_COMMON_H__
0008
0009 #define CUDBG_SIGNATURE 67856866
0010
0011 enum cudbg_dump_type {
0012 CUDBG_DUMP_TYPE_MINI = 1,
0013 };
0014
0015 enum cudbg_compression_type {
0016 CUDBG_COMPRESSION_NONE = 1,
0017 CUDBG_COMPRESSION_ZLIB,
0018 };
0019
0020 struct cudbg_hdr {
0021 u32 signature;
0022 u32 hdr_len;
0023 u16 major_ver;
0024 u16 minor_ver;
0025 u32 data_len;
0026 u32 hdr_flags;
0027 u16 max_entities;
0028 u8 chip_ver;
0029 u8 dump_type:3;
0030 u8 reserved1:1;
0031 u8 compress_type:4;
0032 u32 reserved[8];
0033 };
0034
0035 struct cudbg_entity_hdr {
0036 u32 entity_type;
0037 u32 start_offset;
0038 u32 size;
0039 int hdr_flags;
0040 u32 sys_warn;
0041 u32 sys_err;
0042 u8 num_pad;
0043 u8 flag;
0044 u8 reserved1[2];
0045 u32 next_ext_offset;
0046 u32 reserved[5];
0047 };
0048
0049 struct cudbg_ver_hdr {
0050 u32 signature;
0051 u16 revision;
0052 u16 size;
0053 };
0054
0055 struct cudbg_buffer {
0056 u32 size;
0057 u32 offset;
0058 char *data;
0059 };
0060
0061 struct cudbg_error {
0062 int sys_err;
0063 int sys_warn;
0064 int app_err;
0065 };
0066
0067 #define CDUMP_MAX_COMP_BUF_SIZE ((64 * 1024) - 1)
0068 #define CUDBG_CHUNK_SIZE ((CDUMP_MAX_COMP_BUF_SIZE / 1024) * 1024)
0069
0070 int cudbg_get_buff(struct cudbg_init *pdbg_init,
0071 struct cudbg_buffer *pdbg_buff, u32 size,
0072 struct cudbg_buffer *pin_buff);
0073 void cudbg_put_buff(struct cudbg_init *pdbg_init,
0074 struct cudbg_buffer *pin_buff);
0075 void cudbg_update_buff(struct cudbg_buffer *pin_buff,
0076 struct cudbg_buffer *pout_buff);
0077 #endif