]>
Commit | Line | Data |
---|---|---|
3b97c01e SB |
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 "hw/acpi/tpm.h" | |
16 | #include "exec/address-spaces.h" | |
17 | ||
18 | typedef struct TPMPPI { | |
19 | MemoryRegion ram; | |
20 | uint8_t *buf; | |
21 | } TPMPPI; | |
22 | ||
23 | /** | |
24 | * tpm_ppi_init: | |
25 | * @tpmppi: a TPMPPI | |
26 | * @m: the address-space / MemoryRegion to use | |
27 | * @addr: the address of the PPI region | |
28 | * @obj: the owner object | |
29 | * | |
30 | * Register the TPM PPI memory region at @addr on the given address | |
31 | * space for the object @obj. | |
32 | **/ | |
33 | void tpm_ppi_init(TPMPPI *tpmppi, struct MemoryRegion *m, | |
34 | hwaddr addr, Object *obj); | |
35 | ||
ffab1be7 MAL |
36 | /** |
37 | * tpm_ppi_reset: | |
38 | * @tpmppi: a TPMPPI | |
39 | * | |
40 | * Function to call on machine reset. It will check if the "Memory | |
41 | * overwrite" variable is set, and perform a memory clear on volatile | |
42 | * memory if requested. | |
43 | **/ | |
44 | void tpm_ppi_reset(TPMPPI *tpmppi); | |
45 | ||
3b97c01e | 46 | #endif /* TPM_TPM_PPI_H */ |