45452c5a8e
acpid: load SystemQuirkFlags from in-memory DMI at init via
redox-driver-sys::quirks::toml_loader::load_dmi_system_quirks.
Store as a field on AcpiContext and expose via system_quirks().
Wire two consumers:
- FORCE_S2IDLE in set_global_s_state(3): routes S3 entry to
s2idle preparation instead. LG Gram 16Z90TP, Framework 16,
late Dell XPS advertise \_S3 in DSDT but the firmware refuses
the SLP_TYP write and hangs / silently no-ops.
- NO_LEGACY_PM1B in set_global_s_state(*): skips the PM1b write
even when FADT reports a non-zero pm1b_control_block. LG
firmware reports a PM1b block that does not exist on the
platform; writes wedge the controller.
ps2d: load SystemQuirkFlags from /scheme/acpi/dmi at init via
redox_driver_sys::quirks::system_quirks(). Wire one consumer:
- KBD_DEACTIVATE_FIXUP in Ps2::init(): skips SetDefaultsDisable
(0xF5) during keyboard init. LG Gram + some Dell/HP/Lenovo
keyboards wedge or drop keys when 0xF5 is sent (Linux
atkbd.c keyboard_broken[] / atkbd_deactivate_input tables).
acpid/src/dmi.rs: reframe misleading 'stub' docstring on
try_load_existing() — the function is a real round-trip reader
for /scheme/acpi/dmi, not a stub.
Cargo.lock regenerated to include the new redox-driver-sys path
dependency in acpid and ps2d.
This is the consumer-wiring deliverable for LG Gram Round 1
(local/docs/evidence/lg-gram/ASSESSMENT-2026-07-26.md). The
matching redox-driver-sys stub-replacement work
(load_dmi_acpi_quirks real loader, PANEL_ORIENTATION_TABLE
populated with Linux DRM entries, ACPI_FLAG_NAMES + TOML parser)
lands in the parent repo in the same Round 1 push.
acpi_irq1_skip_override remains documented as needing kernel IRQ
setup work (out of scope for Round 1).
28 lines
818 B
TOML
28 lines
818 B
TOML
[package]
|
|
name = "ps2d"
|
|
description = "PS/2 driver"
|
|
version = "0.1.0"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
bitflags.workspace = true
|
|
log.workspace = true
|
|
orbclient.workspace = true
|
|
redox_event.workspace = true
|
|
redox_syscall.workspace = true
|
|
redox-scheme.workspace = true
|
|
libredox.workspace = true
|
|
|
|
common = { path = "../../common" }
|
|
daemon = { path = "../../../daemon" }
|
|
inputd = { path = "../../inputd" }
|
|
|
|
# Quirks system: ps2d consumes KBD_DEACTIVATE_FIXUP (skip SetDefaultsDisable
|
|
# 0xF5 command on affected laptops — LG Gram, some Dell/HP/Lenovo keyboards
|
|
# drop keys or wedge the controller when that command is sent). The flag is
|
|
# loaded at init from /scheme/acpi/dmi via the system_quirks() helper.
|
|
redox-driver-sys = { path = "../../../../../recipes/drivers/redox-driver-sys/source" }
|
|
|
|
[lints]
|
|
workspace = true
|