qemu/hw/tpm/tpm_ppi.h
<<
>>
Prefs
   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
  18typedef 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 **/
  33void tpm_ppi_init(TPMPPI *tpmppi, struct MemoryRegion *m,
  34                  hwaddr addr, Object *obj);
  35
  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 **/
  44void tpm_ppi_reset(TPMPPI *tpmppi);
  45
  46#endif /* TPM_TPM_PPI_H */
  47