ACPIEC(4) Kernel Interfaces Manual ACPIEC(4)
acpiec -- ACPI Embedded Controller
acpiec* at acpi?
acpiecdt* at acpi?
The acpiec driver supports ACPI Embedded Controllers.
An ACPI Embedded Controller (EC) is typically a small microprocessor that
is responsible for various tasks related to ACPI. The primary task is to
handle ACPI specific interrupts, which are mapped to so-called ACPI
General Purpose Events (GPEs). Other possible functions include embedded
access to other buses such as the iic(4).
The ACPI specific events range from user initiated events to events
triggered by the hardware. When such an event occurs, typically either a
System Management Interrupt (SMI) or a System Control Interrupt (SCI) is
raised. The latter is an active, visible, shareable, level interrupt.
On most Intel chipsets SCI is hardwired to the interrupt number 9. The
main task of an EC is to raise a system control interrupt.
All GPEs generate SCIs. A typical example of the internal wiring of GPEs
could involve gpio(4): when, e.g., the AC adapter is connected, a certain
GPIO line becomes active, a given GPE is flagged, and a SCI interrupt is
raised by the EC, leading to execution of ACPI machine code in order to
locate the handler associated with the event. A corresponding driver,
acpiacad(4) in this case, will finally finish the processing of the
Due to the reasons described above, majority of ACPI specific drivers are
dysfunctional without acpiec. It is therefore recommended that acpiec is
always enabled, even though it may not be required on some older systems.
The acpiec driver appeared in NetBSD 1.6.
Many machines depend on early attachment of acpiec. In such cases the
information required by acpiec should be available as a separate and
optional Embedded Controller Descriptor Table (ECDT). If an ECDT is not
available or early attachment can not be carried out due other reasons,
the initialization of the whole acpi(4) subsystem may be problematic.
NetBSD 6.1.5 February 27, 2010 NetBSD 6.1.5