summaryrefslogtreecommitdiff
path: root/usr.sbin/acpitools
diff options
context:
space:
mode:
authormaxv <maxv@NetBSD.org>2019-06-22 12:39:40 +0000
committermaxv <maxv@NetBSD.org>2019-06-22 12:39:40 +0000
commit662088fe8be33da4998f9cadf2b835e89a7498fb (patch)
tree4e8e706fe7a2be599d028cce41f918deda151c26 /usr.sbin/acpitools
parent7059b2aeda1ce181c81743e6747fe9c648825a9b (diff)
Dump TPM2.
Diffstat (limited to 'usr.sbin/acpitools')
-rw-r--r--usr.sbin/acpitools/acpidump/acpi.c32
-rw-r--r--usr.sbin/acpitools/acpidump/acpidump.85
2 files changed, 33 insertions, 4 deletions
diff --git a/usr.sbin/acpitools/acpidump/acpi.c b/usr.sbin/acpitools/acpidump/acpi.c
index a040756a85e..af032883adf 100644
--- a/usr.sbin/acpitools/acpidump/acpi.c
+++ b/usr.sbin/acpitools/acpidump/acpi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $ */
+/* $NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $ */
/*-
* Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $");
#include <sys/param.h>
#include <sys/endian.h>
@@ -115,6 +115,7 @@ static void acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp);
static void acpi_print_srat(ACPI_SUBTABLE_HEADER *srat);
static void acpi_handle_srat(ACPI_TABLE_HEADER *sdp);
static void acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp);
+static void acpi_handle_tpm2(ACPI_TABLE_HEADER *sdp);
static void acpi_print_nfit(ACPI_NFIT_HEADER *nfit);
static void acpi_handle_nfit(ACPI_TABLE_HEADER *sdp);
static void acpi_handle_uefi(ACPI_TABLE_HEADER *sdp);
@@ -3339,6 +3340,31 @@ acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
printf(END_COMMENT);
}
+static void
+acpi_handle_tpm2(ACPI_TABLE_HEADER *sdp)
+{
+ ACPI_TABLE_TPM2 *tpm2;
+ const char *class;
+
+ printf(BEGIN_COMMENT);
+
+ acpi_print_sdt(sdp);
+ tpm2 = (ACPI_TABLE_TPM2 *)sdp;
+
+ if (tpm2->PlatformClass == 0) {
+ class = "Client";
+ } else if (tpm2->PlatformClass == 1) {
+ class = "Server";
+ } else {
+ class = "Unknown";
+ }
+ printf("\tClass=%s (%u)\n", class, tpm2->PlatformClass);
+ printf("\tControl Address=0x%"PRIx64"\n", tpm2->ControlAddress);
+ printf("\tStart Method=%u\n", tpm2->StartMethod);
+
+ printf(END_COMMENT);
+}
+
static const char *
devscope_type2str(int type)
{
@@ -4297,6 +4323,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp)
acpi_handle_srat(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_TCPA, 4))
acpi_handle_tcpa(sdp);
+ else if (!memcmp(sdp->Signature, ACPI_SIG_TPM2, 4))
+ acpi_handle_tpm2(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_NFIT, 4))
acpi_handle_nfit(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_UEFI, 4))
diff --git a/usr.sbin/acpitools/acpidump/acpidump.8 b/usr.sbin/acpitools/acpidump/acpidump.8
index 917d3480fa8..664f17bede7 100644
--- a/usr.sbin/acpitools/acpidump/acpidump.8
+++ b/usr.sbin/acpitools/acpidump/acpidump.8
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpidump.8,v 1.15 2018/12/02 10:51:07 msaitoh Exp $
+.\" $NetBSD: acpidump.8,v 1.16 2019/06/22 12:39:40 maxv Exp $
.\" ACPI (ACPI Package)
.\"
.\" Copyright (c) 1999 Doug Rabson <dfr@FreeBSD.org>
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD: head/usr.sbin/acpi/acpidump/acpidump.8 267668 2014-06-20 09:57:27Z bapt $
.\"
-.Dd December 2, 2018
+.Dd June 22, 2019
.Dt ACPIDUMP 8
.Os
.Sh NAME
@@ -128,6 +128,7 @@ utility dumps contents of the following tables:
.It SPMI
.It SRAT
.It TCPA
+.It TPM2
.It UEFI
.It WAET
.It WDAT