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

tpm_ftpm_tee.h (1026B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (C) Microsoft Corporation
      4 */
      5
      6#ifndef __TPM_FTPM_TEE_H__
      7#define __TPM_FTPM_TEE_H__
      8
      9#include <linux/tee_drv.h>
     10#include <linux/tpm.h>
     11#include <linux/uuid.h>
     12
     13/* The TAFs ID implemented in this TA */
     14#define FTPM_OPTEE_TA_SUBMIT_COMMAND  (0)
     15#define FTPM_OPTEE_TA_EMULATE_PPI     (1)
     16
     17/* max. buffer size supported by fTPM  */
     18#define MAX_COMMAND_SIZE       4096
     19#define MAX_RESPONSE_SIZE      4096
     20
     21/**
     22 * struct ftpm_tee_private - fTPM's private data
     23 * @chip:     struct tpm_chip instance registered with tpm framework.
     24 * @state:    internal state
     25 * @session:  fTPM TA session identifier.
     26 * @resp_len: cached response buffer length.
     27 * @resp_buf: cached response buffer.
     28 * @ctx:      TEE context handler.
     29 * @shm:      Memory pool shared with fTPM TA in TEE.
     30 */
     31struct ftpm_tee_private {
     32	struct tpm_chip *chip;
     33	u32 session;
     34	size_t resp_len;
     35	u8 resp_buf[MAX_RESPONSE_SIZE];
     36	struct tee_context *ctx;
     37	struct tee_shm *shm;
     38};
     39
     40#endif /* __TPM_FTPM_TEE_H__ */