diff options
author | Stefan Berger <stefanb@linux.vnet.ibm.com> | 2014-08-11 16:33:36 -0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2014-08-25 00:16:06 +0200 |
commit | 711b20b479aa96e26324371f10aff514681ea24c (patch) | |
tree | 904928593ea0def81be4f8423f183162321da8f7 /include | |
parent | 927766c7d34275ecf586020cc5305e377cc4af10 (diff) |
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 <stefanb@linux.vnet.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/acpi/tpm.h | 29 | ||||
-rw-r--r-- | include/sysemu/tpm.h | 7 |
2 files changed, 36 insertions, 0 deletions
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 <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. + * + * 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 */ |