brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 5752080 Raw
60 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2023 Intel Corporation4 */5 6#ifndef _ABI_GSC_PXP_COMMANDS_ABI_H7#define _ABI_GSC_PXP_COMMANDS_ABI_H8 9#include <linux/types.h>10 11/* Heci client ID for PXP commands */12#define HECI_MEADDRESS_PXP 1713 14#define PXP_APIVER(x, y) (((x) & 0xFFFF) << 16 | ((y) & 0xFFFF))15 16/*17 * there are a lot of status codes for PXP, but we only define the cross-API18 * common ones that we actually can handle in the kernel driver. Other failure19 * codes should be printed to error msg for debug.20 */21enum pxp_status {22	PXP_STATUS_SUCCESS = 0x0,23	PXP_STATUS_ERROR_API_VERSION = 0x1002,24	PXP_STATUS_NOT_READY = 0x100e,25	PXP_STATUS_PLATFCONFIG_KF1_NOVERIF = 0x101a,26	PXP_STATUS_PLATFCONFIG_KF1_BAD = 0x101f,27	PXP_STATUS_OP_NOT_PERMITTED = 0x401328};29 30/* Common PXP FW message header */31struct pxp_cmd_header {32	u32 api_version;33	u32 command_id;34	union {35		u32 status; /* out */36		u32 stream_id; /* in */37#define PXP_CMDHDR_EXTDATA_SESSION_VALID GENMASK(0, 0)38#define PXP_CMDHDR_EXTDATA_APP_TYPE GENMASK(1, 1)39#define PXP_CMDHDR_EXTDATA_SESSION_ID GENMASK(17, 2)40	};41	/* Length of the message (excluding the header) */42	u32 buffer_len;43} __packed;44 45#define PXP43_CMDID_NEW_HUC_AUTH 0x0000003F /* MTL+ */46 47/* PXP-Input-Packet: HUC Auth-only */48struct pxp43_new_huc_auth_in {49	struct pxp_cmd_header header;50	u64 huc_base_address;51	u32 huc_size;52} __packed;53 54/* PXP-Output-Packet: HUC Load and Authentication or Auth-only */55struct pxp43_huc_auth_out {56	struct pxp_cmd_header header;57} __packed;58 59#endif60