EC Services Architecture
Communication Pathways
flowchart TD
A[Host OS or Firmware]
B[ACPI Interface / Mailbox / HID]
C[EC Service Dispatcher]
D[Subsystem Controller - Battery, Thermal, etc.]
A --> B
B --> C
C --> D
Figure: EC Service Entry Points Host platforms interact with EC services through one or more communication pathways. These may include ACPI-defined regions, mailbox protocols, or vendor-defined HID messages. The EC processes these via service dispatch logic.
Messaging Exchange Format (Conceptual)
sequenceDiagram
participant Host
participant EC
Host->>EC: Request {Service ID, Command, Payload}
EC-->>Host: Response {Status, Data}
Figure: Message Exchange
The diagram above illustrates the basic message handshake.
This table explains the field data exchanged:
Field Description Service ID Identifies target subsystem Command Specific operation to perform Payload Data required for operation Status Result of operation Data Optional result values
Secure and Non-Secure Implementations
In the diagram below, the dark blue sections are those elements that are part of normal (non-secure) memory space and may be called from a service interface directly. As we can see on the Non-Secure side, the ACPI transport channel has access to the EC component implementations either directly or through the FF-A (Firmware Framework Memory Management Protocol).
Secure implementation architecture can be seen in the upcoming Security discussion.
flowchart TD
A[Untrusted Host OS]
B[Trusted Runtime Services]
C[EC Service Gateway]
D[EC Subsystems]
A -.->|Filtered Access| C
B -->|Secure Channel| C
C --> D