Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/acpi Dump the whole FADT in ACPIVERBOSE.
details: https://anonhg.NetBSD.org/src/rev/2bb3b2c1bf74
branches: trunk
changeset: 756899:2bb3b2c1bf74
user: jruoho <jruoho%NetBSD.org@localhost>
date: Sat Aug 07 08:59:51 2010 +0000
description:
Dump the whole FADT in ACPIVERBOSE.
diffstat:
sys/dev/acpi/acpi_verbose.c | 110 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 106 insertions(+), 4 deletions(-)
diffs (150 lines):
diff -r e2ab75e66e99 -r 2bb3b2c1bf74 sys/dev/acpi/acpi_verbose.c
--- a/sys/dev/acpi/acpi_verbose.c Sat Aug 07 06:44:08 2010 +0000
+++ b/sys/dev/acpi/acpi_verbose.c Sat Aug 07 08:59:51 2010 +0000
@@ -1,11 +1,11 @@
-/* $NetBSD: acpi_verbose.c,v 1.6 2010/08/06 23:38:34 jruoho Exp $ */
+/* $NetBSD: acpi_verbose.c,v 1.7 2010/08/07 08:59:51 jruoho Exp $ */
/*-
- * Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
+ * Copyright (c) 2003, 2007, 2010 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum of By Noon Software, Inc.
+ * by Charles M. Hannum of By Noon Software, Inc, and Jukka Ruohonen.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_verbose.c,v 1.6 2010/08/06 23:38:34 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_verbose.c,v 1.7 2010/08/07 08:59:51 jruoho Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -79,6 +79,7 @@
void acpi_print_verbose_real(struct acpi_softc *);
void acpi_print_dev_real(const char *);
+static void acpi_print_fadt(struct acpi_softc *);
static void acpi_print_devnodes(struct acpi_softc *);
static void acpi_print_tree(struct acpi_devnode *, uint32_t);
@@ -115,6 +116,7 @@
acpi_print_verbose_real(struct acpi_softc *sc)
{
+ acpi_print_fadt(sc);
acpi_print_devnodes(sc);
acpi_print_tree(sc->sc_root, 0);
}
@@ -132,6 +134,106 @@
}
static void
+acpi_print_fadt(struct acpi_softc *sc)
+{
+ uint32_t i;
+
+ /*
+ * See ACPI 4.0, section 5.2.9.
+ */
+ struct acpi_fadt {
+ uint32_t fadt_offset;
+ const char *fadt_name;
+ uint64_t fadt_value;
+ };
+
+ const struct acpi_fadt acpi_fadt_table[] = {
+
+ { 36, "FACS", AcpiGbl_FADT.Facs },
+ { 40, "DSDT", AcpiGbl_FADT.Dsdt },
+ { 44, "INT_MODEL", AcpiGbl_FADT.Model },
+ { 45, "PM_PROFILE", AcpiGbl_FADT.PreferredProfile },
+ { 46, "SCI_INT", AcpiGbl_FADT.SciInterrupt },
+ { 48, "SMI_CMD", AcpiGbl_FADT.SmiCommand },
+ { 52, "ACPI_ENABLE", AcpiGbl_FADT.AcpiEnable },
+ { 53, "ACPI_DISABLE", AcpiGbl_FADT.AcpiDisable },
+ { 54, "S4BIOS_REQ", AcpiGbl_FADT.S4BiosRequest },
+ { 55, "PSTATE_CNT", AcpiGbl_FADT.PstateControl },
+ { 56, "PM1a_EVT_BLK", AcpiGbl_FADT.Pm1aEventBlock },
+ { 60, "PM1b_EVT_BLK", AcpiGbl_FADT.Pm1bEventBlock },
+ { 64, "PM1a_CNT_BLK", AcpiGbl_FADT.Pm1aControlBlock },
+ { 68, "PM1b_CNT_BLK", AcpiGbl_FADT.Pm1bControlBlock },
+ { 72, "PM2_CNT_BLK", AcpiGbl_FADT.Pm2ControlBlock },
+ { 76, "PM_TMR_BLK", AcpiGbl_FADT.PmTimerBlock },
+ { 80, "GPE0_BLK", AcpiGbl_FADT.Gpe0Block },
+ { 84, "GPE1_BLK", AcpiGbl_FADT.Gpe1Block },
+ { 88, "PM1_EVT_LEN", AcpiGbl_FADT.Pm1EventLength },
+ { 89, "PM1_CNT_LEN", AcpiGbl_FADT.Pm1ControlLength },
+ { 90, "PM2_CNT_LEN", AcpiGbl_FADT.Pm2ControlLength },
+ { 91, "PM_TMR_LEN", AcpiGbl_FADT.PmTimerLength },
+ { 92, "GPE0_BLK_LEN", AcpiGbl_FADT.Gpe0BlockLength },
+ { 93, "GPE1_BLK_LEN", AcpiGbl_FADT.Gpe1BlockLength },
+ { 94, "GPE1_BASE", AcpiGbl_FADT.Gpe1Base },
+ { 95, "CST_CNT", AcpiGbl_FADT.CstControl },
+ { 96, "P_LVL2_LAT", AcpiGbl_FADT.C2Latency },
+ { 98, "P_LVL3_LAT", AcpiGbl_FADT.C3Latency },
+ { 100, "FLUSH_SIZE", AcpiGbl_FADT.FlushSize },
+ { 102, "FLUSH_STRIDE", AcpiGbl_FADT.FlushStride },
+ { 104, "DUTY_OFFSET", AcpiGbl_FADT.DutyOffset },
+ { 105, "DUTY_WIDTH", AcpiGbl_FADT.DutyWidth },
+ { 106, "DAY_ALRM", AcpiGbl_FADT.DayAlarm },
+ { 107, "MON_ALRM", AcpiGbl_FADT.MonthAlarm },
+ { 108, "CENTURY", AcpiGbl_FADT.Century },
+ { 109, "IAPC_BOOT_ARCH",AcpiGbl_FADT.BootFlags },
+ { 128, "RESET_VALUE", AcpiGbl_FADT.ResetValue },
+ };
+
+ const struct acpi_fadt acpi_fadt_flags[] = {
+
+ { 0, "WBINVD", ACPI_FADT_WBINVD },
+ { 1, "WBINVD_FLUSH", ACPI_FADT_WBINVD_FLUSH },
+ { 2, "PROC_C1", ACPI_FADT_C1_SUPPORTED },
+ { 3, "P_LVL2_UP", ACPI_FADT_C2_MP_SUPPORTED },
+ { 4, "PWR_BUTTON", ACPI_FADT_POWER_BUTTON },
+ { 5, "SLP_BUTTON", ACPI_FADT_SLEEP_BUTTON },
+ { 6, "FIX_RTC", ACPI_FADT_FIXED_RTC },
+ { 7, "RTC_S4", ACPI_FADT_S4_RTC_WAKE },
+ { 8, "TMR_VAL_EXT", ACPI_FADT_32BIT_TIMER },
+ { 9, "DCK_CAP", ACPI_FADT_DOCKING_SUPPORTED },
+ { 10, "RESET_REG_SUP",ACPI_FADT_RESET_REGISTER },
+ { 11, "SEALED_CASE", ACPI_FADT_SEALED_CASE },
+ { 12, "HEADLESS", ACPI_FADT_HEADLESS },
+ { 13, "CPU_SW_SLP", ACPI_FADT_SLEEP_TYPE },
+ { 14, "PCI_EXP_WAK", ACPI_FADT_PCI_EXPRESS_WAKE },
+ { 15, "PLATFORM_CLK", ACPI_FADT_PLATFORM_CLOCK },
+ { 16, "S4_RTC_STS", ACPI_FADT_S4_RTC_VALID },
+ { 17, "REMOTE_POWER", ACPI_FADT_REMOTE_POWER_ON },
+ { 18, "APIC_CLUSTER", ACPI_FADT_APIC_CLUSTER },
+ { 19, "APIC_PHYSICAL",ACPI_FADT_APIC_PHYSICAL },
+ };
+
+ for (i = 0; i < __arraycount(acpi_fadt_table); i++) {
+
+ aprint_normal_dev(sc->sc_dev,
+ "[FADT] %-15s: 0x%016" PRIX64"\n",
+ acpi_fadt_table[i].fadt_name,
+ acpi_fadt_table[i].fadt_value);
+ }
+
+ for (i = 0; i < __arraycount(acpi_fadt_flags); i++) {
+
+ aprint_normal_dev(sc->sc_dev,
+ "[FADT] %-15s: 0x%016" PRIX64"\n",
+ acpi_fadt_flags[i].fadt_name, AcpiGbl_FADT.Flags &
+ acpi_fadt_flags[i].fadt_value);
+
+ KASSERT(i == acpi_fadt_flags[i].fadt_offset);
+ KASSERT(__BIT(acpi_fadt_flags[i].fadt_offset) ==
+ acpi_fadt_flags[i].fadt_value);
+ }
+}
+
+static void
acpi_print_devnodes(struct acpi_softc *sc)
{
struct acpi_devnode *ad;
Home |
Main Index |
Thread Index |
Old Index