From 711b20b479aa96e26324371f10aff514681ea24c Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Mon, 11 Aug 2014 16:33:36 -0400 Subject: Add ACPI tables for TPM Add an SSDT ACPI table for the TPM device. Add a TCPA table for BIOS logging area when a TPM is being used. The latter follows this spec here: http://www.trustedcomputinggroup.org/files/static_page_files/DCD4188E-1A4B-B294-D050A155FB6F7385/TCG_ACPIGeneralSpecification_PublicReview.pdf This patch has Michael Tsirkin's patches folded in. Signed-off-by: Stefan Berger Signed-off-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin --- include/hw/acpi/tpm.h | 29 +++++++++++++++++++++++++++++ include/sysemu/tpm.h | 7 +++++++ 2 files changed, 36 insertions(+) create mode 100644 include/hw/acpi/tpm.h (limited to 'include') diff --git a/include/hw/acpi/tpm.h b/include/hw/acpi/tpm.h new file mode 100644 index 0000000000..792fcbf5b1 --- /dev/null +++ b/include/hw/acpi/tpm.h @@ -0,0 +1,29 @@ +/* + * tpm.h - TPM ACPI definitions + * + * Copyright (C) 2014 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. + * + * Implementation of the TIS interface according to specs found at + * http://www.trustedcomputinggroup.org + * + */ +#ifndef HW_ACPI_TPM_H +#define HW_ACPI_TPM_H + +#define TPM_TIS_ADDR_BASE 0xFED40000 +#define TPM_TIS_ADDR_SIZE 0x5000 + +#define TPM_TIS_IRQ 5 + +#define TPM_LOG_AREA_MINIMUM_SIZE (64 * 1024) + +#define TPM_TCPA_ACPI_CLASS_CLIENT 0 +#define TPM_TCPA_ACPI_CLASS_SERVER 1 + +#endif /* HW_ACPI_TPM_H */ diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h index 13febddbee..9b81ce9189 100644 --- a/include/sysemu/tpm.h +++ b/include/sysemu/tpm.h @@ -20,4 +20,11 @@ int tpm_config_parse(QemuOptsList *opts_list, const char *optarg); int tpm_init(void); void tpm_cleanup(void); +#define TYPE_TPM_TIS "tpm-tis" + +static inline bool tpm_find(void) +{ + return object_resolve_path_type("", TYPE_TPM_TIS, NULL); +} + #endif /* QEMU_TPM_H */ -- cgit v1.2.3-55-g7522