aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-08-25 18:49:25 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-08-25 18:49:25 +0100
commita44a12b78a7e9a3dc59e5b10b09a0bc934c693f1 (patch)
treecb3321d309b92bd15082518574ede30aa18010bc /include
parent3dd359c2d34c6abf385d58da863f337b39702585 (diff)
parent187de915e8d06aaf82be206aebc551c82bf0670c (diff)
downloadqemu-a44a12b78a7e9a3dc59e5b10b09a0bc934c693f1.zip
qemu-a44a12b78a7e9a3dc59e5b10b09a0bc934c693f1.tar.gz
qemu-a44a12b78a7e9a3dc59e5b10b09a0bc934c693f1.tar.bz2
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
pci, pc fixes, features A bunch of bugfixes - these will make sense for 2.1.1 ACPI support for TPM and partial ARI support for PCIE. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Sun 24 Aug 2014 23:16:35 BST using RSA key ID D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" * remotes/mst/tags/for_upstream: pcie: fix trailing whitespace ioh3420: Enable ARI forwarding ioh3420: Remove obsoleted, unused ioh3420_init function pcie: Rename the pcie_cap_ari_* functions to pcie_cap_arifwd_* pcie: Fix incorrect write to the ari capability next function field ssdt-tpm: add generated hex file to git Add ACPI tables for TPM pc: reserve more memory for ACPI for new machine types pcihp: fix possible array out of bounds pci_bridge: manually destroy memory regions within PCIBridgeWindows hostmem: set MPOL_MF_MOVE Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/hw/acpi/tpm.h29
-rw-r--r--include/hw/i386/pc.h2
-rw-r--r--include/hw/pci/pcie.h7
-rw-r--r--include/sysemu/tpm.h7
4 files changed, 42 insertions, 3 deletions
diff --git a/include/hw/acpi/tpm.h b/include/hw/acpi/tpm.h
new file mode 100644
index 0000000..792fcbf
--- /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/hw/i386/pc.h b/include/hw/i386/pc.h
index 0fca9e3..a39cb42 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -176,6 +176,8 @@ void pc_acpi_init(const char *default_dsdt);
PcGuestInfo *pc_guest_info_init(ram_addr_t below_4g_mem_size,
ram_addr_t above_4g_mem_size);
+void pc_set_legacy_acpi_data_size(void);
+
#define PCI_HOST_PROP_PCI_HOLE_START "pci-hole-start"
#define PCI_HOST_PROP_PCI_HOLE_END "pci-hole-end"
#define PCI_HOST_PROP_PCI_HOLE64_START "pci-hole64-start"
diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h
index 7fe81f3..d139d58 100644
--- a/include/hw/pci/pcie.h
+++ b/include/hw/pci/pcie.h
@@ -103,9 +103,10 @@ void pcie_cap_flr_init(PCIDevice *dev);
void pcie_cap_flr_write_config(PCIDevice *dev,
uint32_t addr, uint32_t val, int len);
-void pcie_cap_ari_init(PCIDevice *dev);
-void pcie_cap_ari_reset(PCIDevice *dev);
-bool pcie_cap_is_ari_enabled(const PCIDevice *dev);
+/* ARI forwarding capability and control */
+void pcie_cap_arifwd_init(PCIDevice *dev);
+void pcie_cap_arifwd_reset(PCIDevice *dev);
+bool pcie_cap_is_arifwd_enabled(const PCIDevice *dev);
/* PCI express extended capability helper functions */
uint16_t pcie_find_capability(PCIDevice *dev, uint16_t cap_id);
diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h
index 13febdd..9b81ce9 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 */