47 lines
999 B
C
47 lines
999 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _ABI_GSC_COMMAND_HEADER_ABI_H
|
|
#define _ABI_GSC_COMMAND_HEADER_ABI_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct intel_gsc_mtl_header {
|
|
u32 validity_marker;
|
|
#define GSC_HECI_VALIDITY_MARKER 0xA578875A
|
|
|
|
u8 heci_client_id;
|
|
|
|
u8 reserved1;
|
|
|
|
u16 header_version;
|
|
#define MTL_GSC_HEADER_VERSION 1
|
|
|
|
/* FW allows host to decide host_session handle as it sees fit. */
|
|
u64 host_session_handle;
|
|
|
|
/* handle generated by FW for messages that need to be re-submitted */
|
|
u64 gsc_message_handle;
|
|
|
|
u32 message_size; /* lower 20 bits only, upper 12 are reserved */
|
|
|
|
/*
|
|
* Flags mask:
|
|
* Bit 0: Pending
|
|
* Bit 1: Session Cleanup;
|
|
* Bits 2-15: Flags
|
|
* Bits 16-31: Extension Size
|
|
* According to internal spec flags are either input or output
|
|
* we distinguish the flags using OUTFLAG or INFLAG
|
|
*/
|
|
u32 flags;
|
|
#define GSC_OUTFLAG_MSG_PENDING BIT(0)
|
|
#define GSC_INFLAG_MSG_CLEANUP BIT(1)
|
|
|
|
u32 status;
|
|
} __packed;
|
|
|
|
#endif
|