41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Copyright (C) Microsoft Corporation
 | |
|  */
 | |
| 
 | |
| #ifndef __TPM_FTPM_TEE_H__
 | |
| #define __TPM_FTPM_TEE_H__
 | |
| 
 | |
| #include <linux/tee_drv.h>
 | |
| #include <linux/tpm.h>
 | |
| #include <linux/uuid.h>
 | |
| 
 | |
| /* The TAFs ID implemented in this TA */
 | |
| #define FTPM_OPTEE_TA_SUBMIT_COMMAND  (0)
 | |
| #define FTPM_OPTEE_TA_EMULATE_PPI     (1)
 | |
| 
 | |
| /* max. buffer size supported by fTPM  */
 | |
| #define MAX_COMMAND_SIZE       4096
 | |
| #define MAX_RESPONSE_SIZE      4096
 | |
| 
 | |
| /**
 | |
|  * struct ftpm_tee_private - fTPM's private data
 | |
|  * @chip:     struct tpm_chip instance registered with tpm framework.
 | |
|  * @state:    internal state
 | |
|  * @session:  fTPM TA session identifier.
 | |
|  * @resp_len: cached response buffer length.
 | |
|  * @resp_buf: cached response buffer.
 | |
|  * @ctx:      TEE context handler.
 | |
|  * @shm:      Memory pool shared with fTPM TA in TEE.
 | |
|  */
 | |
| struct ftpm_tee_private {
 | |
| 	struct tpm_chip *chip;
 | |
| 	u32 session;
 | |
| 	size_t resp_len;
 | |
| 	u8 resp_buf[MAX_RESPONSE_SIZE];
 | |
| 	struct tee_context *ctx;
 | |
| 	struct tee_shm *shm;
 | |
| };
 | |
| 
 | |
| #endif /* __TPM_FTPM_TEE_H__ */
 |