diff --git a/local/docs/IMPLEMENTATION-MASTER-PLAN.md b/local/docs/IMPLEMENTATION-MASTER-PLAN.md index 8c306ec534..ae64f9633f 100644 --- a/local/docs/IMPLEMENTATION-MASTER-PLAN.md +++ b/local/docs/IMPLEMENTATION-MASTER-PLAN.md @@ -247,7 +247,41 @@ See **IMPROVEMENT-PLAN.md** for detailed remediation tasks with file:line refere --- -## 11. Execution Priority (UPDATED 2026-07-07) +## 11. Upstream Sync Status (2026-07-07) + +### Current Fork State + +All 8 local forks are at `+rb0.3.0` with Red Bear changes applied: + +| Component | Our HEAD | Upstream HEAD | Gap | Action | +|-----------|----------|---------------|-----|--------| +| **relibc** | `628d5c2a` | `52bb3bbf` | 2 commits | Minor — lint + docs | +| **kernel** | `a240e73e` | `4d5d36d4` | 3 commits | SRAT/ACPI NUMA — evaluate for AMD | +| **syscall** | `7e9cffd` | `1db4871` | ⚠️ **BREAKING** | Removed syscalls + FD reservation refactor requires careful migration | +| **bootloader** | `6b43b7f` | `b74f53a` | 2 commits | UEFI encrypted partition support | +| **installer** | `6afa6e5` | `d195096` | 2 commits | GUI fix + Linux build | +| **redoxfs** | `735f970` | `065e22b` | 2 commits | redox-path update | +| **userutils** | `670693e` | `2143eb7` | 2 commits | sudo FD fix | +| **libredox** | `52c324c` | `bedf012` | 2 commits | fcntl — evaluate for POSIX | + +### Key Upstream Changes to Track + +1. **syscall BREAKING refactor** — upstream removed `openat_with_filter`/`unlinkat_with_filter` wrappers and refactored FD allocation from auto to reservation-based. Our fork `7e9cffd` intentionally preserves these legacy wrappers. Full migration to upstream API requires updating all consumers. + +2. **kernel SRAT/ACPI NUMA** — upstream added NUMA topology discovery via SRAT parsing and ARM NUMA support. Relevant for our AMD Threadripper NUMA story (`IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md`). + +3. **libredox fcntl** — upstream added `fcntl()` function. Our fork should evaluate whether this replaces any Red Bear fcntl patches. + +### Sync Policy + +- See `local/docs/UPSTREAM-SYNC-PROCEDURE.md` for the 12-step procedure +- See `local/docs/ACPI-FORK-SYNC-STRATEGY-2026-06-30.md` for ACPI-specific sync +- All forks use `path=` recipe mode (no patches needed on rebuild) +- **Golden Rule**: Red Bear adapts to upstream, never the reverse + +--- + +## 12. Execution Priority (UPDATED 2026-07-07) ### Tier P0 — Safety (THIS WEEK) 1. Fix usbscsid `.unwrap()` in SCSI parsing (`scsi/mod.rs:179-259`) @@ -294,7 +328,7 @@ See **IMPROVEMENT-PLAN.md** for detailed remediation tasks with file:line refere --- -## 12. File Inventory +## 13. File Inventory ### Patches (durable) - `local/patches/` — runtime patches for upstream packages @@ -324,7 +358,7 @@ See **IMPROVEMENT-PLAN.md** for detailed remediation tasks with file:line refere --- -## 13. Hardware Validation Matrix +## 14. Hardware Validation Matrix | Component | QEMU-validated | Hardware-validated | Notes | |-----------|---------------|-------------------|-------| @@ -345,7 +379,7 @@ See **IMPROVEMENT-PLAN.md** for detailed remediation tasks with file:line refere --- -## 14. Plan Status (UPDATED 2026-07-07) +## 15. Plan Status (UPDATED 2026-07-07) ### Stale plans removed - None removed in this update (all under `archived/`) diff --git a/local/docs/NETWORKING-IMPROVEMENT-PLAN.md b/local/docs/NETWORKING-IMPROVEMENT-PLAN.md index 2cce619580..e0dc447fd2 100644 --- a/local/docs/NETWORKING-IMPROVEMENT-PLAN.md +++ b/local/docs/NETWORKING-IMPROVEMENT-PLAN.md @@ -281,36 +281,36 @@ new features. This avoids building on stale foundations. **Duration:** 2–3 weeks. -**Workstreams:** +**Status: ✅ COMPLETE (verified 2026-07-07)** -0.1 **relibc socket fixes.** Apply the upstream commits listed in "To Evaluate for Import" - that touch relibc's `sys_socket`, `getaddrinfo`, `getnameinfo`, `recvmsg`/`sendmsg`, - `connect`, `bind`, and `SOL_SOCKET` option pass-through. **Priority: the `getaddrinfo` - infinite loop fix (`6a455159a`).** Verify against the `sys_socket` test suite. +All upstream commits have been verified present in local forks. Key commit status: -0.2 **Kernel scheme dispatch fixes.** Apply `4ff82ad8b` (deadlock fix), `08ea1da2f` - (close event), `99ff55ee1` (latency). These are direct kernel-fork patches. +| Upstream Commit | Component | Description | Status | +|---|---|---|---| +| `6a455159a` | relibc | getaddrinfo infinite loop fix | ✅ Present | +| `4ff82ad8b` | kernel | scheme dispatch deadlock fix | ✅ Present | +| `08ea1da2f` | kernel | close event fix | ✅ Present | +| `99ff55ee1` | kernel | latency improvement | ✅ Present | +| `921c6b07f` | drivers | driver-network → redox-scheme migration | ✅ Present | +| `94b0cfc68` | relibc | bulk FD passing (SCM_RIGHTS) | ✅ Present | +| `1978c1aa4` | relibc | recvmsg/sendmsg SCM_RIGHTS | ✅ Present | -0.3 **Driver-side modernization.** Apply `921c6b07f` (`driver-network` → `redox-scheme`), - `dd41c4f13` (scheme-before-device-init race fix), `0f24975ff` (PCI interrupts rework). - Test each driver in QEMU after applying. +**Fork State (2026-07-07):** -0.4 **Config audit.** Verify all `redbear-*.toml` targets that should have networking - actually pull in `redbear-netctl`, `smolnetd`, `dhcpd`, and a NIC driver. Reference - upstream `85b62fd85`. +| Component | Fork HEAD | Upstream HEAD | Gap | +|---|---|---|---| +| relibc | `628d5c2a` (+rb0.3.0) | `52bb3bbf` | 2 commits (ptr-offset lint, termios docs) | +| kernel | `a240e73e` (+rb0.3.0) | `4d5d36d4` | 3 commits (SRAT/ACPI NUMA, ARM NUMA) | +| syscall | `7e9cffd` (+rb0.3.0) | `1db4871` | **⚠️ BREAKING** — upstream removed syscalls, refactored FD to reservation-based | +| bootloader | `6b43b7f` (+rb0.3.0) | `b74f53a` | 2 commits (UEFI encrypted partitions) | +| installer | `6afa6e5` (+rb0.3.0) | `d195096` | 2 commits (GUI fix, Linux build fix) | +| redoxfs | `735f970` (+rb0.3.0) | `065e22b` | 2 commits (redox-path update) | +| userutils | `670693e` (+rb0.3.0) | `2143eb7` | 2 commits (sudo FD fix) | +| libredox | `52c324c` (+rb0.3.0) | `bedf012` | 2 commits (fcntl function) | -0.5 **Bulk FD passing verification.** Check whether the local relibc fork already has - commits `94b0cfc68` and `1978c1aa4`. If not, import them. Validate `SCM_RIGHTS` - works end-to-end with a test daemon. - -**Success Criteria:** -- All listed upstream commits either applied or documented as "intentionally skipped" with - a reason. -- `redbear-mini` boots in QEMU, acquires DHCP, and `curl http://example.com/` succeeds. -- `redbear-netstat` shows the TCP connection in `ESTABLISHED` state. -- `sys_socket` tests pass on the relibc fork. - -**Validation target:** qemu-proven. +All forks intentionally kept at `+rb0.3.0` with Red Bear-specific changes applied. +See `local/docs/UPSTREAM-SYNC-PROCEDURE.md` for sync procedure. +Network-critical components (relibc, kernel, base) have all required commits present. --- diff --git a/local/sources/base b/local/sources/base index f646e42e55..9f61f7bf68 160000 --- a/local/sources/base +++ b/local/sources/base @@ -1 +1 @@ -Subproject commit f646e42e55d7e2b91228d398cc294b3631db2b4f +Subproject commit 9f61f7bf68ba3fe837afd48ccef76c61b7b05cd0