kernel: flatten the device/discovery code, merge power into acpi, rename fdt
Follow-up cleanup of the just-moved kernel device code: - power.zig -> acpi.zig. Its reboot() is built entirely on the FADT reset register (acpi.power_information) plus the legacy 0xCF9/8042 fallbacks — it is ACPI reboot, so it becomes acpi.reboot (the "P" in ACPI). platform.reboot still delegates; soft-off/S5 stays the ring-3 acpi service's job as before. - device-tree.zig -> fdt.zig. It is a discovery *backend* (the ARM/FDT parser, a sibling of acpi.zig), not part of the model — renaming it to its actual subject kills the confusing device-tree / device-model DeviceTree name clash and makes acpi.zig + fdt.zig read as the two parallel backends. - Flatten: device-model.zig, acpi.zig, fdt.zig, platform.zig move out of the system/kernel/devices/ subdir up into system/kernel/, joining devices-broker.zig (already flat). The kernel dir is a flat pile by convention (only architecture/ is a subdir), so the subdir — and its poor "devices" name — is gone. Pure restructure; "platform" module name unchanged, all cross-file deps are relative siblings that moved together. zig build + test green; smoke, discovery, acpi-parse, acpi-ps2, acpi-report, power-button, orderly-shutdown, reboot pass.
This commit is contained in:
+2
-2
@@ -19,10 +19,10 @@ UEFI configuration table
|
||||
BootInformation.acpi_rsdp (u64, in the loader↔kernel handoff) system/boot-handoff.zig
|
||||
│ the kernel forwards the whole BootInformation
|
||||
▼
|
||||
platform.discover(boot_information, …) system/kernel/devices/platform.zig
|
||||
platform.discover(boot_information, …) system/kernel/platform.zig
|
||||
│ reads boot_information.acpi_rsdp, hands it to the ACPI backend
|
||||
▼
|
||||
acpi.discover(rsdp_phys, …) system/kernel/devices/acpi.zig
|
||||
acpi.discover(rsdp_phys, …) system/kernel/acpi.zig
|
||||
│ dereferences the RSDP, reads the pointer it contains
|
||||
▼
|
||||
RSDP ──(a field in the struct)──► RSDT / XSDT ──► SDTs (MADT, MCFG, FADT, HPET, DSDT…)
|
||||
|
||||
Reference in New Issue
Block a user