ae57fe3226
Phase B of the ACPI fork-sync plan (local/docs/ACPI-FORK-SYNC-STRATEGY-2026-06-30.md). Pairs with the kernel fork-sync commit4f2a043. Restores the base fork to match upstream Redox OS base master for the ACPI userspace: - Cargo.toml (workspace): * Add acpi = { git = "...redox-os/acpi.git", branch = "redox-6.x" } workspace dependency. The jackpot51/acpi GitHub fork was deprecated in favor of the gitlab.redox-os.org fork that tracks the redox-6.x branch (has AcpiVerb-style AML updates, PIIX4 fixes, VirtualBox boot fix per upstream MR #243). * Switch redox_syscall from crates.io 0.8.1 to a git ref of gitlab.redox-os.org/redox-os/syscall.git, with [patch.crates-io] redirecting crates.io consumers to the gitlab fork. The crates.io 0.8.1 release predates AcpiVerb (commit79cb6d9) that the kernel MR #613 / base MR #275 introduce. - drivers/acpid/Cargo.toml: acpi.workspace = true. - drivers/amlserde/Cargo.toml: acpi.workspace = true. - drivers/hwd/Cargo.toml: add redox_syscall.workspace = true dependency. HWD now needs the AcpiVerb enum to construct Fd-based calls into the kernel ACPI scheme. - drivers/amlserde/src/lib.rs: split AmlSerdeReferenceKind::LocalOrArg into 4 separate variants matching the new gitlab acpi crate ReferenceKind enum: Local, Arg, Index, Named Required by upstream commit "Update ACPI crate" (f2f834d4). - drivers/acpid/src/main.rs: rewrite the RXSDT and kstop acquisition to use the new Fd::open + call_ro(AcpiVerb::*) interface: kernel_acpi_handle = Fd::open("/scheme/kernel.acpi", O_CLOEXEC, 0) rxsdt = kernel_acpi_handle.call_ro(buf, READ, &[ReadRxsdt]) shutdown_pipe = kernel_acpi_handle.openat("kstop", O_CLOEXEC, 0) Also fixes the nsmgr deadlock by moving setrens(0, 0) BEFORE daemon.ready() (upstream commit 9dd6901d). - drivers/hwd/src/backend/acpi.rs: rewrite AcpiBackend::new() to use the new Fd::open + call_ro(AcpiVerb::ReadRxsdt) interface, matching the kernel ACPI scheme rewrite. Verified by: CI=1 ./local/scripts/build-redbear.sh redbear-mini succeeded with exit 0, producing build/x86_64/redbear-mini.iso (512 MB) at 2026-06-30 04:54.
34 lines
782 B
TOML
34 lines
782 B
TOML
[package]
|
|
name = "acpid"
|
|
description = "ACPI daemon"
|
|
version = "0.1.0"
|
|
authors = ["4lDO2 <4lDO2@protonmail.com>"]
|
|
edition = "2018"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
acpi.workspace = true
|
|
arrayvec = "0.7.6"
|
|
log.workspace = true
|
|
num-derive = "0.3"
|
|
num-traits = "0.2"
|
|
parking_lot.workspace = true
|
|
plain.workspace = true
|
|
redox_syscall.workspace = true
|
|
redox_event.workspace = true
|
|
rustc-hash = "1.1.0"
|
|
thiserror.workspace = true
|
|
ron.workspace = true
|
|
serde.workspace = true
|
|
|
|
amlserde = { path = "../amlserde" }
|
|
common = { path = "../common" }
|
|
daemon = { path = "../../daemon" }
|
|
libredox.workspace = true
|
|
redox-scheme.workspace = true
|
|
scheme-utils = { path = "../../scheme-utils" }
|
|
|
|
[lints]
|
|
workspace = true
|