Docs: close the discovery migration (M20.3)
discovery.md records ACPI enumeration leaving the kernel; device-manager.md increment 8 marked done — enumeration now runs entirely in ring 3.
This commit is contained in:
@@ -136,8 +136,10 @@ published exit events, signals + `runtime.process`). On top of those:
|
|||||||
the mouse and keyboard QEMU already hangs off it.
|
the mouse and keyboard QEMU already hangs off it.
|
||||||
7. **App surface**: `enumerate`/`subscribe` over IPC; `device_enumerate` retreats
|
7. **App surface**: `enumerate`/`subscribe` over IPC; `device_enumerate` retreats
|
||||||
to a manager-internal seam.
|
to a manager-internal seam.
|
||||||
8. **Discovery migration**: pci-bus driver first, acpi service second, kernel scan
|
8. **Discovery migration** — DONE (M19–M20, 2026-07-13): pci-bus driver (M19)
|
||||||
retired last. (AML-in-user-space is its own track.)
|
then the acpi service (M20) moved enumeration to ring 3; the kernel seeds
|
||||||
|
only the host bridge and the acpi-tables node. See
|
||||||
|
[m19-m20-plan.md](m19-m20-plan.md).
|
||||||
|
|
||||||
## Settled questions (2026-07-12)
|
## Settled questions (2026-07-12)
|
||||||
|
|
||||||
|
|||||||
@@ -177,3 +177,17 @@ window). The per-function walk moved to the ring-3 `pci-bus` driver
|
|||||||
ECAM scan through its mmio grant, and `device_register`s what it finds, which
|
ECAM scan through its mmio grant, and `device_register`s what it finds, which
|
||||||
the device manager mirrors and matches. The ACPI namespace walk follows in M20;
|
the device manager mirrors and matches. The ACPI namespace walk follows in M20;
|
||||||
the static tables (MADT, HPET, MCFG, FADT + `\\_S5`) stay kernel-side.
|
the static tables (MADT, HPET, MCFG, FADT + `\\_S5`) stay kernel-side.
|
||||||
|
|
||||||
|
## Update (M20.3, 2026-07-13): ACPI enumeration left the kernel too
|
||||||
|
|
||||||
|
The kernel no longer folds the AML namespace's Device objects into the device
|
||||||
|
tree. It still parses the *static* tables (MADT for SMP, HPET for the tick, MCFG
|
||||||
|
for the host bridge, FADT) and still builds the AML namespace — but only to read
|
||||||
|
the `\\_S5` sleep type for poweroff. Device discovery is the ring-3 **acpi
|
||||||
|
service** ([device-manager.md](device-manager.md)): it claims the `acpi-tables`
|
||||||
|
node the kernel publishes (the AML blobs, a broad io_port grant, the SCI),
|
||||||
|
re-parses the same blobs with the shared AML module, evaluates `_STA`/`_CRS`,
|
||||||
|
and registers + reports each `_HID` device — the device manager matches drivers
|
||||||
|
(ps2-bus) from those reports. With M19's pci-bus driver, discovery now runs
|
||||||
|
entirely in user space; the kernel seeds only the host bridge and the
|
||||||
|
acpi-tables node.
|
||||||
|
|||||||
Reference in New Issue
Block a user