docs: reflect arm-port carve-out; master is x86-only, aarch64 on branch

Mainline now carries roadmap #1-#5; the aarch64 context-switch port is a single untested commit on the arm-port branch. Update the task.md resume block and the README build section accordingly.
This commit is contained in:
smarm-dev
2026-06-07 21:54:04 +00:00
parent 518103750b
commit 024abc2e73
2 changed files with 22 additions and 15 deletions
+4 -2
View File
@@ -67,8 +67,10 @@ benches/
## Building and running ## Building and running
Standard Cargo. Requires Rust 1.95 or newer (the `#[naked]` attribute went stable Standard Cargo. Requires Rust 1.95 or newer (the `#[naked]` attribute went stable
in 1.88; we use a few unrelated post-1.88 features). x86-64 Linux only — in 1.88; we use a few unrelated post-1.88 features). `master` is x86-64 Linux
ARM64 and macOS are on the deferred list because of the assembly shim and the only. An experimental, **untested** aarch64 context-switch backend lives on the
`arm-port` branch (extracted into a `target_arch`-gated `src/arch/`); it has not
been validated on hardware yet. macOS remains on the deferred list because of the
epoll dependency. epoll dependency.
```sh ```sh
+18 -13
View File
@@ -5,17 +5,19 @@ before starting; the gotchas section is hard-won and will save you a faceplant.
## Resume the environment ## Resume the environment
- Repo: `/home/claude/work/smarm`, branch `arm-port`, currently 8 commits past - Repo: `smarm`. Two branches (the old single `arm-port` stack was split):
`master`: - `master` — the mainline, and HEAD. Carries roadmap #1#5: cooperative
- `a8fec02` aarch64 context-switch port cancellation, supervisor strategies (one_for_one/all, rest_for_one) + the
- `183fd05` monitors (`monitor()``Receiver<Down>`) orphaned-timer shutdown fix, links/trap_exit, selective receive, gen_server,
- `f617266` one-for-one supervisor (restart policies + intensity cap) and demonitor/`MonitorId`. Tagged `v0.4.0`. x86-64 Linux only.
- `a8ddb4a` cooperative cancellation (roadmap #1 — done) - `arm-port``master` plus a single commit: `feat(arch): aarch64 context
- `e80334b` fix: orphaned timers no longer block runtime shutdown switch + cycle counter`. Extracts the x86-64 context-switch / stack-init /
- `351dc9c` one_for_all / rest_for_one + ordered shutdown (roadmap #2 — done) cycle-counter out of `context.rs` into a `target_arch`-gated `src/arch/`
- `31133a6` docs(roadmap): mark #1 and #2 done (x86_64 + aarch64 backends) and adds an AAPCS64 backend. ⚠️ UNTESTED: never
- `6581484` links + trap_exit (roadmap #3 — done) built or run on real ARM hardware. The x86-64 path is unchanged
- (+ a trailing docs commit marking #3 done and refreshing supervisor/README) (`arch/x86_64.rs` is the old `context.rs` body verbatim), so the x86 suite
passing says nothing about the aarch64 backend. Build + test on-device
before trusting it.
- Toolchain is installed but NOT on PATH in a fresh shell. First line of every - Toolchain is installed but NOT on PATH in a fresh shell. First line of every
session: `. "$HOME/.cargo/env"` (rustc/cargo 1.96). session: `. "$HOME/.cargo/env"` (rustc/cargo 1.96).
- Build `cargo build` · all tests `cargo test` · one suite `cargo test --test monitor`. - Build `cargo build` · all tests `cargo test` · one suite `cargo test --test monitor`.
@@ -217,8 +219,11 @@ Shipped. What landed vs the plan:
- Pure additive layer (no Slot/scheduler/spawn/finalize change) → no perf - Pure additive layer (no Slot/scheduler/spawn/finalize change) → no perf
check run. Tests (`tests/gen_server.rs`): cast→call roundtrip, init/terminate check run. Tests (`tests/gen_server.rs`): cast→call roundtrip, init/terminate
ordering, both server-down paths. ordering, both server-down paths.
- Docs lag: README still says "x86-64 Linux only — ARM64 … deferred" and the - Docs: README now points at the experimental, untested aarch64 port on the
module table calls `context` x86-64-only; update for the aarch64 backend. `arm-port` branch. The module table still calls `context` x86-64-only — true
for `master`, since the `src/arch/` split rides on `arm-port`. Fold the arch/
split and ARM64-supported wording into the README module table + build section
once `arm-port` is validated on hardware and merged.
## Gotchas / invariants (respect these) ## Gotchas / invariants (respect these)