cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cudbg_lib_common.h (1578B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 *  Copyright (C) 2017 Chelsio Communications.  All rights reserved.
      4 */
      5
      6#ifndef __CUDBG_LIB_COMMON_H__
      7#define __CUDBG_LIB_COMMON_H__
      8
      9#define CUDBG_SIGNATURE 67856866 /* CUDB in ascii */
     10
     11enum cudbg_dump_type {
     12	CUDBG_DUMP_TYPE_MINI = 1,
     13};
     14
     15enum cudbg_compression_type {
     16	CUDBG_COMPRESSION_NONE = 1,
     17	CUDBG_COMPRESSION_ZLIB,
     18};
     19
     20struct cudbg_hdr {
     21	u32 signature;
     22	u32 hdr_len;
     23	u16 major_ver;
     24	u16 minor_ver;
     25	u32 data_len;
     26	u32 hdr_flags;
     27	u16 max_entities;
     28	u8 chip_ver;
     29	u8 dump_type:3;
     30	u8 reserved1:1;
     31	u8 compress_type:4;
     32	u32 reserved[8];
     33};
     34
     35struct cudbg_entity_hdr {
     36	u32 entity_type;
     37	u32 start_offset;
     38	u32 size;
     39	int hdr_flags;
     40	u32 sys_warn;
     41	u32 sys_err;
     42	u8 num_pad;
     43	u8 flag;             /* bit 0 is used to indicate ext data */
     44	u8 reserved1[2];
     45	u32 next_ext_offset; /* pointer to next extended entity meta data */
     46	u32 reserved[5];
     47};
     48
     49struct cudbg_ver_hdr {
     50	u32 signature;
     51	u16 revision;
     52	u16 size;
     53};
     54
     55struct cudbg_buffer {
     56	u32 size;
     57	u32 offset;
     58	char *data;
     59};
     60
     61struct cudbg_error {
     62	int sys_err;
     63	int sys_warn;
     64	int app_err;
     65};
     66
     67#define CDUMP_MAX_COMP_BUF_SIZE ((64 * 1024) - 1)
     68#define CUDBG_CHUNK_SIZE ((CDUMP_MAX_COMP_BUF_SIZE / 1024) * 1024)
     69
     70int cudbg_get_buff(struct cudbg_init *pdbg_init,
     71		   struct cudbg_buffer *pdbg_buff, u32 size,
     72		   struct cudbg_buffer *pin_buff);
     73void cudbg_put_buff(struct cudbg_init *pdbg_init,
     74		    struct cudbg_buffer *pin_buff);
     75void cudbg_update_buff(struct cudbg_buffer *pin_buff,
     76		       struct cudbg_buffer *pout_buff);
     77#endif /* __CUDBG_LIB_COMMON_H__ */