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

iosm_ipc_coredump.h (1436B)


      1/* SPDX-License-Identifier: GPL-2.0-only
      2 *
      3 * Copyright (C) 2020-2021 Intel Corporation.
      4 */
      5
      6#ifndef _IOSM_IPC_COREDUMP_H_
      7#define _IOSM_IPC_COREDUMP_H_
      8
      9#include "iosm_ipc_devlink.h"
     10
     11/* Max number of bytes to receive for Coredump list structure */
     12#define MAX_CD_LIST_SIZE  0x1000
     13
     14/* Max buffer allocated to receive coredump data */
     15#define MAX_DATA_SIZE 0x00010000
     16
     17/* Max length */
     18#define MAX_SIZE_LEN 32
     19
     20/**
     21 * struct iosm_cd_list_entry - Structure to hold coredump file info.
     22 * @size:       Number of bytes for the entry
     23 * @filename:   Coredump filename to be generated on host
     24 */
     25struct iosm_cd_list_entry {
     26	__le32 size;
     27	char filename[IOSM_MAX_FILENAME_LEN];
     28} __packed;
     29
     30/**
     31 * struct iosm_cd_list - Structure to hold list of coredump files
     32 *                      to be collected.
     33 * @num_entries:        Number of entries to be received
     34 * @entry:              Contains File info
     35 */
     36struct iosm_cd_list {
     37	__le32 num_entries;
     38	struct iosm_cd_list_entry entry[];
     39} __packed;
     40
     41/**
     42 * struct iosm_cd_table - Common Coredump table
     43 * @version:            Version of coredump structure
     44 * @list:               Coredump list structure
     45 */
     46struct iosm_cd_table {
     47	__le32 version;
     48	struct iosm_cd_list list;
     49} __packed;
     50
     51int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
     52			 u32 region_size);
     53
     54int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd);
     55
     56#endif /* _IOSM_IPC_COREDUMP_H_ */