qemu/include/sysemu/tpm.h
<<
>>
Prefs
   1/*
   2 * Public TPM functions
   3 *
   4 * Copyright (C) 2011-2013 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 QEMU_TPM_H
  13#define QEMU_TPM_H
  14
  15#include "qemu/option.h"
  16
  17typedef struct TPMState TPMState;
  18
  19int tpm_config_parse(QemuOptsList *opts_list, const char *optarg);
  20int tpm_init(void);
  21void tpm_cleanup(void);
  22
  23typedef enum  TPMVersion {
  24    TPM_VERSION_UNSPEC = 0,
  25    TPM_VERSION_1_2 = 1,
  26    TPM_VERSION_2_0 = 2,
  27} TPMVersion;
  28
  29TPMVersion tpm_tis_get_tpm_version(Object *obj);
  30
  31#define TYPE_TPM_TIS                "tpm-tis"
  32
  33static inline TPMVersion tpm_get_version(void)
  34{
  35#ifdef CONFIG_TPM
  36    Object *obj = object_resolve_path_type("", TYPE_TPM_TIS, NULL);
  37
  38    if (obj) {
  39        return tpm_tis_get_tpm_version(obj);
  40    }
  41#endif
  42    return TPM_VERSION_UNSPEC;
  43}
  44
  45#endif /* QEMU_TPM_H */
  46