journal 2026-05-03

P53 - filling the walker's gaps

p53riscvsv32mmuautonomous-mode

Autonomous-mode rung, 9th past P45. User said “do the integration let’s boot a kernel once we have linux i want freebsd”. So pivoted from architectural correctness to integration push.

P53 closes three of the four P52-era holes that block Linux boot:

  1. 4 MiB megapages. Linux maps the kernel direct map with these. Without them: every kernel access page-faults.
  2. sfence.vma decoded. Linux issues this after every mapping change. Without it: illegal-instr at boot.
  3. AMO ops through the walker. Linux uses amoadd.w in the spinlock fast path. Without translation: wrong PA, broken atomics.

The remaining hole is instruction-fetch translation. We sidestep that by planning to identity-map the kernel (PA == VA for kernel code).

PASS at 5,297,364 clocks. ~50k clocks over P52, all from the two new probe sequences.

Quick implementation notes

What’s left for booting

The architectural part is essentially done. What remains is platform shape:

These are integration rungs. None require new RTL — they’re testbench / firmware / boot-image work. P54+ will tackle them.

Wart count

Same one (P46 sext.b auto-emit hang).