drv-acpi is the ACPI platform discovery daemon in EriX hardware mediation.
Find a file
Erik Inkinen f68ca0ec78
All checks were successful
CI / security (push) Successful in 1m27s
CI / minimal-versions (push) Successful in 11s
CI / test (push) Successful in 5s
drv-acpi: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:51 +02:00
.github feat(acpi): implement ACPI driver with discovery and reporting capabilities 2026-03-11 00:05:33 +02:00
src drv-acpi: drop redundant named registration 2026-03-21 03:31:23 +02:00
.editorconfig Initial commit 2026-03-10 16:30:23 +01:00
.gitignore Initial commit 2026-03-10 16:30:23 +01:00
ARCHITECTURE.md feat(acpi): implement ACPI driver with discovery and reporting capabilities 2026-03-11 00:05:33 +02:00
Cargo.toml runtime-mode: migrate feature gates and document mode model 2026-03-11 08:05:00 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-10 16:30:23 +01:00
CONTRIBUTING.md Initial commit 2026-03-10 16:30:23 +01:00
LICENSE Initial commit 2026-03-10 16:30:23 +01:00
linker.ld feat(acpi): implement ACPI driver with discovery and reporting capabilities 2026-03-11 00:05:33 +02:00
README.md feat(acpi): implement ACPI driver with discovery and reporting capabilities 2026-03-11 00:05:33 +02:00
ROADMAP.md runtime-mode: migrate feature gates and document mode model 2026-03-11 08:05:00 +02:00
rustfmt.toml drv-acpi: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:51 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:11 +02:00

drv-acpi

drv-acpi is the ACPI platform discovery daemon in EriX hardware mediation.

It discovers a deterministic set of ACPI platform classes and reports them to deviced using typed IPC contracts.

Responsibilities

  • read ACPI bootstrap ingress through kernel-control operations:
    • IPC_KERNEL_CONTROL_OP_GET_ACPI_RSDP (20)
    • IPC_KERNEL_CONTROL_OP_READ_ACPI_QWORDS (21)
  • classify and normalize platform classes:
    • battery
    • AC adapter
    • TPM
    • thermal
  • map classes to seeded synthetic device IDs defined in lib-device
  • report discovery metadata to deviced via IPC_PHASE2_DEVICED_OP_REPORT_DEVICE
  • serve typed discovery RPCs:
    • IPC_PHASE2_DRV_ACPI_OP_DISCOVER (0x590)
    • IPC_PHASE2_DRV_ACPI_OP_READ_LAST_SCAN (0x591)

Non-Responsibilities

  • it does not own driver lifecycle policy (deviced owns start/stop/restart)
  • it does not implement full platform-specific ACPI table walking in v1
  • it does not manage dynamic hotplug policy

Build

cargo build --release --target x86_64-unknown-none \
  --features drv-acpi-integration-smoke,drv-acpi-integration-phase2-acpi

Test

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings

VM/system validation is executed through the integration repository scenarios.