tpm_ppi.h (1067B)
1/* 2 * TPM Physical Presence Interface 3 * 4 * Copyright (C) 2018 IBM Corporation 5 * 6 * Authors: 7 * Stefan Berger <stefanb@us.ibm.com> 8 * 9 * This work is licensed under the terms of the GNU GPL, version 2 or later. 10 * See the COPYING file in the top-level directory. 11 */ 12#ifndef TPM_TPM_PPI_H 13#define TPM_TPM_PPI_H 14 15#include "exec/address-spaces.h" 16 17typedef struct TPMPPI { 18 MemoryRegion ram; 19 uint8_t *buf; 20} TPMPPI; 21 22/** 23 * tpm_ppi_init: 24 * @tpmppi: a TPMPPI 25 * @m: the address-space / MemoryRegion to use 26 * @addr: the address of the PPI region 27 * @obj: the owner object 28 * 29 * Register the TPM PPI memory region at @addr on the given address 30 * space for the object @obj. 31 **/ 32void tpm_ppi_init(TPMPPI *tpmppi, struct MemoryRegion *m, 33 hwaddr addr, Object *obj); 34 35/** 36 * tpm_ppi_reset: 37 * @tpmppi: a TPMPPI 38 * 39 * Function to call on machine reset. It will check if the "Memory 40 * overwrite" variable is set, and perform a memory clear on volatile 41 * memory if requested. 42 **/ 43void tpm_ppi_reset(TPMPPI *tpmppi); 44 45#endif /* TPM_TPM_PPI_H */