/* * TPM Physical Presence Interface * * Copyright (C) 2018 IBM Corporation * * Authors: * Stefan Berger * * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. */ #ifndef TPM_TPM_PPI_H #define TPM_TPM_PPI_H #include "hw/acpi/tpm.h" #include "exec/address-spaces.h" typedef struct TPMPPI { MemoryRegion ram; uint8_t *buf; } TPMPPI; /** * tpm_ppi_init: * @tpmppi: a TPMPPI * @m: the address-space / MemoryRegion to use * @addr: the address of the PPI region * @obj: the owner object * * Register the TPM PPI memory region at @addr on the given address * space for the object @obj. **/ void tpm_ppi_init(TPMPPI *tpmppi, struct MemoryRegion *m, hwaddr addr, Object *obj); /** * tpm_ppi_reset: * @tpmppi: a TPMPPI * * Function to call on machine reset. It will check if the "Memory * overwrite" variable is set, and perform a memory clear on volatile * memory if requested. **/ void tpm_ppi_reset(TPMPPI *tpmppi); #endif /* TPM_TPM_PPI_H */