Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Sep 2017 15:41:08 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r323614 - head/usr.sbin/acpi/acpidump
Message-ID:  <201709151541.v8FFf8Y5033480@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: scottl
Date: Fri Sep 15 15:41:07 2017
New Revision: 323614
URL: https://svnweb.freebsd.org/changeset/base/323614

Log:
  Add support for parsing the Watchdog Descriptor Table (WDDT)
  
  Sponsored by:	Netflix

Modified:
  head/usr.sbin/acpi/acpidump/acpi.c
  head/usr.sbin/acpi/acpidump/acpidump.8

Modified: head/usr.sbin/acpi/acpidump/acpi.c
==============================================================================
--- head/usr.sbin/acpi/acpidump/acpi.c	Fri Sep 15 14:59:35 2017	(r323613)
+++ head/usr.sbin/acpi/acpidump/acpi.c	Fri Sep 15 15:41:07 2017	(r323614)
@@ -65,6 +65,7 @@ static void	acpi_handle_ecdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hpet(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_mcfg(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_slit(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_wddt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_srat_cpu(uint32_t apic_id, uint32_t proximity_domain,
 		    uint32_t flags);
 static void	acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp);
@@ -679,6 +680,40 @@ acpi_handle_slit(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_handle_wddt(ACPI_TABLE_HEADER *sdp)
+{
+	ACPI_TABLE_WDDT *wddt;
+
+	printf(BEGIN_COMMENT);
+	acpi_print_sdt(sdp);
+	wddt = (ACPI_TABLE_WDDT *)sdp;
+	printf("\tSpecVersion=0x%04x, TableVersion=0x%04x\n",
+	    wddt->SpecVersion, wddt->TableVersion);
+	printf("\tPciVendorId=0x%04x, Address=", wddt->PciVendorId);
+	acpi_print_gas(&wddt->Address);
+	printf("\n\tMaxCount=%u, MinCount=%u, Period=%ums\n",
+	    wddt->MaxCount, wddt->MinCount, wddt->Period);
+
+#define	PRINTFLAG(var, flag)	printflag((var), ACPI_WDDT_## flag, #flag)
+	printf("\tStatus=");
+	PRINTFLAG(wddt->Status, AVAILABLE);
+	PRINTFLAG(wddt->Status, ACTIVE);
+	PRINTFLAG(wddt->Status, TCO_OS_OWNED);
+	PRINTFLAG(wddt->Status, USER_RESET);
+	PRINTFLAG(wddt->Status, WDT_RESET);
+	PRINTFLAG(wddt->Status, POWER_FAIL);
+	PRINTFLAG(wddt->Status, UNKNOWN_RESET);
+	PRINTFLAG_END();
+	printf("\tCapability=");
+	PRINTFLAG(wddt->Capability, AUTO_RESET);
+	PRINTFLAG(wddt->Capability, ALERT_SUPPORT);
+	PRINTFLAG_END();
+#undef PRINTFLAG
+
+	printf(END_COMMENT);
+}
+
+static void
 acpi_print_srat_cpu(uint32_t apic_id, uint32_t proximity_domain,
     uint32_t flags)
 {
@@ -1654,6 +1689,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp)
 			acpi_handle_dmar(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_NFIT, 4))
 			acpi_handle_nfit(sdp);
+		else if (!memcmp(sdp->Signature, ACPI_SIG_WDDT, 4))
+			acpi_handle_wddt(sdp);
 		else {
 			printf(BEGIN_COMMENT);
 			acpi_print_sdt(sdp);

Modified: head/usr.sbin/acpi/acpidump/acpidump.8
==============================================================================
--- head/usr.sbin/acpi/acpidump/acpidump.8	Fri Sep 15 14:59:35 2017	(r323613)
+++ head/usr.sbin/acpi/acpidump/acpidump.8	Fri Sep 15 15:41:07 2017	(r323614)
@@ -107,6 +107,7 @@ utility dumps contents of the following tables:
 .It MCFG
 .It RSD PTR
 .It RSDT
+.It WDDT
 .El
 .Pp
 The RSDT contains a pointer to the physical memory address of the FACP



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201709151541.v8FFf8Y5033480>