ACPIEC(4)

πŸ“¦
version 11.0 Β· 2 versions
, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

acpiec β€” ACPI Embedded Controller. Okay bestie, this is the ACPIEC(4) page from the Kernel Interfaces Manual, and it’s all about the embedded controller vibe πŸ’…βœ¨

🌸 SYNOPSIS 🌸

The whole config situation is literally:

acpiec* at acpi?
acpiecdt* at acpi?

πŸ’– DESCRIPTION πŸ’–

The acpiec driver supports ACPI Embedded Controllers. Periodt.

An ACPI Embedded Controller (EC) is typically a small microprocessor that’s responsible for various tasks related to ACPI. Its 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 iic(4). Iconic.

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. No cap.

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 event. The way that whole chain eats is honestly main character energy πŸ”₯.

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. So yeah, keep it on bestie 🫢.

πŸ”Ž SEE ALSO πŸ”Ž

  • acpi(4) β€” go read this one too, iykyk πŸ’œ

πŸ¦‹ HISTORY πŸ¦‹

The acpiec driver appeared in NetBSD 1.6. A little vintage, but still slaying ✨.

⚠️ CAVEATS ⚠️

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. So like, don’t ignore this one πŸ˜­πŸ’€.

That’s the whole page, bestie β€” sourced from Debian, dated February 27, 2010, and filed under ACPIEC(4) πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from