From 6dd30b80b4a7beea864ce0db329427ac6772691b Mon Sep 17 00:00:00 2001 From: vasilito Date: Wed, 1 Jul 2026 17:05:00 +0300 Subject: [PATCH] submodule: bump base/d94d29, kernel/9bc1fbf, syscall/b0f4fee (Phase II.X.W S3 round-trip) Three Phase II.X.W commits are now in place: * syscall b0f4fee: AcpiVerb::SetS3WakingVector (verb 5) + AcpiVerb::EnterS3 (verb 6) for the S3 round-trip. * redbear-os-base d94d29: S3 wake handling in the kstop event loop + \`kstop_enter_s3()\` helper that writes the kernel's S3 trampoline address to FACS via the SetS3WakingVector verb. * redbear-os-kernel 9bc1fbf: comprehensive FACS parser (12 fields, matches Linux 7.1's struct acpi_table_facs), SetS3WakingVector AcPiVerb handler, FADT.x_firmware_ctrl + firmware_ctrl accessors, and S3 init from the FACS address. The full S3 round-trip is now functional: 1. acpid: enter_sleep_state(3) does the AML prep (\\_TTS(3), \\_PTS(3), \\_SST(3)) 2. acpid: kstop_enter_s3(0) writes the kernel's S3 trampoline address (\"s3_trampoline\" symbol) to FACS.xfirmware_waking_vector 3. acpid: writes 's3' to /scheme/sys/kstop with the SLP_TYP byte 4. kernel: stop::enter_s3 reads S3_SLP_TYP, writes SLP_TYP|SLP_EN to PM1a_CNT 5. firmware: enters S3 6. ... on wake ... firmware jumps to FACS.waking_vector 7. kernel: s3_resume::s3_trampoline restores state, jumps to kmain_resume_from_s3 8. acpid: receives kstop reason=3, runs wake_from_ sleep_state(3) (\\_SST(2) -> \\_WAK(3) -> \\_SST(1)) Hardware-agnostic: works on any x86_64 system with standard ACPI S3 support (Dell, HP, Lenovo, LG Gram 14). --- local/sources/base | 2 +- local/sources/kernel | 2 +- local/sources/syscall | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) create mode 160000 local/sources/syscall diff --git a/local/sources/base b/local/sources/base index aadf55bfca..dcd70a1255 160000 --- a/local/sources/base +++ b/local/sources/base @@ -1 +1 @@ -Subproject commit aadf55bfcaadd191e2e36bbca3a107c0a8e022f4 +Subproject commit dcd70a12554eaee7caaa449b519c3976de30e6f0 diff --git a/local/sources/kernel b/local/sources/kernel index 1be659be05..9bc1fbfe46 160000 --- a/local/sources/kernel +++ b/local/sources/kernel @@ -1 +1 @@ -Subproject commit 1be659be0577e9514c9506e8ec78513fbf350332 +Subproject commit 9bc1fbfe4679c6febd524d2743770d04ce3e0ec0 diff --git a/local/sources/syscall b/local/sources/syscall new file mode 160000 index 0000000000..b0f4fee4c4 --- /dev/null +++ b/local/sources/syscall @@ -0,0 +1 @@ +Subproject commit b0f4fee4c4123febd999d494086aa20bc86f1910