Update the SLEEP-IMPLEMENTATION-PLAN.md to reflect Phase J
completion: the local libredox fork and local syscall fork
are now both in place, the [patch.crates-io] and
[patch.'<URL>'] overrides are correctly wired in both
the base and kernel workspaces, and the typed-AcpiVerb
path (EnterS2Idle / ExitS2Idle) is the primary path.
The kstop string-arg path remains as a fallback for
older acpid builds. Both paths work end-to-end; the
build succeeds; the ISO is produced.
Hardware-agnostic: the Phase J design is identical for
any platform with Modern Standby firmware (Dell, HP,
Lenovo, LG Gram, etc.).
Phase I (LG Gram 16 (2025) / Arrow Lake-H S-state support)
is complete and built. The plan doc captures:
* Status table: which subsystems are done (acpid AML, kernel
kstop handler, redbear-quirks LG Gram flags) and which
limitations remain (S3 resume trampoline, s2idle wake
interrupt handler — both Phase II).
* Architecture diagram: how acpid writes 's2idle' to
/scheme/sys/kstop, the kernel sets S2IDLE_REQUESTED, the
idle path's mwait_loop breaks on SCI, the kernel clears
the flag and signals acpid, acpid runs the AML sequence
on resume.
* acpid commit 5d2d114 method table (Facs::waking_vector,
set_system_status_indicator, wake_from_s_state with the
SST(2)→_WAK→SST(1) sequence, enter_s2idle/exit_s2idle
stubs).
* Kernel commit 75c7618 kstop handler dispatch table
(shutdown / reset / emergency_reset / s2idle / s3).
* Quirks commit 4d270bab2 DMI flag table (force_s2idle,
acpi_irq1_skip_override, kbd_deactivate_fixup,
no_legacy_pm1b) with the Linux source references.
* Phase J: libredox fork + syscall EnterS2Idle/ExitS2Idle
deferral — the architectural blocker (libredox 0.1.17
has its own vendored redox_syscall dep; [patch.crates-io]
doesn't reach transitive deps). The patch file
local/patches/syscall/P1-acpiverb-enter-exit-s2idle.patch
is preserved as a durable artifact for Phase J.
* Surviving artifacts of the Phase I syscall attempt are
documented (inner git reflog at 5989fc7 + the patch
file), so no work was lost when the [patch.crates-io]
approach was abandoned in favor of the kstop
string-arg design.
Hardware-agnostic: the same plan applies to Dell, HP,
Lenovo systems. The LG Gram specifics are just one
target.