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>