| ACPI(4) | Device Drivers Manual | ACPI(4) | 
acpi —
acpi0	at mainbus0
  
  options	ACPI_DEBUG
  
  options	ACPIVERBOSE
  
  options	ACPI_ACTIVATE_DEV
  
  options	ACPI_DSDT_OVERRIDE
  
  options	ACPI_DSDT_FILE=""
  
  options	ACPI_BLACKLIST_YEAR=2000
  
  options	ACPI__DIS_IS_BROKEN
The NetBSD implementation of ACPI integrates Intel's ACPI Component Architecture (ACPI-CA) for the OS-independent part. The ACPI-CA provides OS-neutral ACPI functionalities such as ACPI BIOS table support, an ACPI event framework and an ACPI Machine Language (AML) interpreter.
Options:
ACPI_DEBUGACPIVERBOSEACPI_ACTIVATE_DEVACPI_DSDT_OVERRIDEACPI_DSDT_FILE to specify a DSDT.ACPI_DSDT_FILE="filename"ACPI_DSDT_FILE is not specified, default to
      “dsdt.hex” in the build directory.ACPI_BLACKLIST_YEAR=2000ACPI__DIS_IS_BROKENacpi driver:
hw.acpi.roothw.acpi.sleep.statehw.acpi.sleep.stateshw.acpi.sleep.beephw.acpi.sleep.vbiosvbetool post from the
          pkgsrc/sysutils/vbetool package.If the system has problems in resuming from the S3 state, experimenting with different values may provide a solution.
hw.acpi.stat.gpehw.acpi.stat.scihw.acpi.stat.fixedhw.acpi.stat.methodhw.acpi.powerhw.acpi.wakeTo ease the task of diagnosing and fixing different problems, the
    ACPICA reference implementation provides a rich facility of different
    debugging methods. In NetBSD these are generally
    only available if the kernel has been compiled with the
    ACPI_DEBUG option.
ACPIVERBOSE compile time option enables some verbose
  debug messages printed during the system startup. In a
  MODULAR (see
  options(4)) system, the
  information can be printed also at runtime, regardless of the presence of
  ACPIVERBOSE. To print the messages,
  modload(8) the
  acpiverbose module using the option
  -b dump=true.
acpi is implemented in the so-called Differentiated
  System Descriptor Table (DSDT). NetBSD provides
  support for overriding the default DSDT supplied by the BIOS.
The following steps can be used to override the DSDT:
-tc.
src/sys/dev/acpi/acpica/Osd/custom_dsdt.hex
    
    or use the option
ACPI_DSDT_FILE="/some/directory/custom_dsdt.hex"
    
    in the kernel configuration file.
ACPI_DSDT_OVERRIDE in the kernel
      configuration file and rebuild.call with the argument
  acpi_osd_debugger.
hw.acpi.debug.layer
  variable limits the output to a specific ACPI layer and the
  hw.acpi.debug.level variable controls the debug level.
  Both sysctl(8) variables are
  string literals. The third variable is
  hw.acpi.debug.object. This is a boolean that controls
  whether debug messages internal to the AML are enabled.
For the first two variables, the possible values are:
In addition, there is ACPI_DEBUG_DEFAULT
    that is used by ACPICA as the default debug level. It includes
    ACPI_LV_INIT and
    ACPI_LV_DEBUG_OBJECT.
The debug layer can be divided into two groups: the first one is
    specific to the ACPICA interpreter and the second one contains the internal
    ACPI components of NetBSD. The constant
    ACPI_ALL_DRIVERS includes all
    NetBSD specific parts.
The ACPICA interpreter uses several debug levels internally, but
    the NetBSD specific parts are typically limited to
    ACPI_LV_DEBUG_OBJECT and
    ACPI_LV_INFO. The debug output can be stopped by
    setting hw.acpi.debug.level to
    ACPI_DEBUG_NONE.
#define _COMPONENT	ACPI_BUS_COMPONENT
ACPI_MODULE_NAME	("acpi_example")
The driver may also utilize the debug facility:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Failed to evaluate _STA\n"));
With these options the debug message from the
    ACPI_DEBUG_PRINT macro is only visible when
    hw.acpi.debug.layer is either
    ACPI_BUS_COMPONENT or a compound constant including
    it, and hw.acpi.debug.level is
    ACPI_LV_INFO or some constant that includes it.
    Finally, it can be noted that the ACPI implementation uses the prefix
    ACPI_DB, whereas the debug level
    sysctl(8) variable is always
    specified with the prefix ACPI_LV.
Another example can be mentioned for the use of
    hw.acpi.debug.object. The following could appear in
    an ASL code:
Method(_Q19, 0, NotSerialized)
{
	Store("_Q19 invoked", Debug)
	Notify(ACAD, 0x80)
}
When hw.acpi.debug.object is set to 1, the
    message stored to the debug object is printed every time the method is
    called by the interpreter.
Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd., and Toshiba Corporation, Advanced Configuration and Power Interface Specification, Revision 4.0, http://www.acpi.info/spec.htm, June 16, 2009.
Intel Corporation, ACPI Component Architecture,, Programmer Reference,, OS-Independent Subsystem, Debugger, and Utilities, Revision 1.27, http://www.acpica.org/download/acpica-reference.pdf, January 20, 2010.
Len Brown, ACPI in Linux - Myths vs. Reality, http://www.linuxsymposium.org/archives/OLS/Reprints-2007/brown_1-Reprint.pdf, 65-74, June 27-30, 2007, Proceedings of the Linux Symposium.
Joerg Sonnenberger and Jared D. McNeill, Sleeping Beauty - NetBSD on Modern Laptops, http://2008.asiabsdcon.org/papers/P9A-paper.pdf, 127-134, February 3, 2008, Proceedings of AsiaBSDCon 2008.
Takanori Watanabe, ACPI Implementation on FreeBSD, Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference, USENIX Association, http://www.usenix.org/event/usenix02/tech/freenix/full_papers/watanabe/watanabe.pdf, 121-131, June 10-15, 2002.
acpi driver appeared in NetBSD
  1.6.
acpi subsystem include
  Charles M. Hannum, Frank van der
  Linden, Jared D. McNeill,
  Jason R. Thorpe, Joerg
  Sonnenberger, and Jukka Ruohonen, among others.
The ACPI__DIS_IS_BROKEN option should not
    be necessary.
| December 5, 2020 | NetBSD 10.1 |