| /* |
| * TPM Physical Presence Interface |
| * |
| * Copyright (C) 2018 IBM Corporation |
| * |
| * Authors: |
| * Stefan Berger <stefanb@us.ibm.com> |
| * |
| * 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 */ |