V(Extension V)のない CPU でのユーザーメモリ管理を、固定スロット(1 プロセス 1 スロット)から、nommu Linux のような方式に置き換える。 ## 方針 - カーネルがページ(4 KiB)アロケータを持ち、プロセスごとに連続したアリーナを 1 つ割り当てる。アリーナにブロック、WAL、スタック、ヒープが入る。 - 実行形式は再配置可能な WAX v3(FLAT 形式に相当、`--pie`)。ロード時に再配置し、同じ画像を別の場所に同時に置ける。固定アドレスの画像(v2、`--protected`)もそのまま動く(競合時は `FND_E_ADDRESS_CONFLICT`)。 - 保護は Extension P の 8 領域(MPU)。Extension V のある CPU は従来どおりページ表。 - `mem_grow` は nommu の `brk` と同じで、アリーナを動かさず、末尾が空いているときだけ伸ばす。`--heap-hint` で最初に大きなヒープを求められる。 ## 作業 - WAX v3 に RELOCATABLE(flags bit 2)、relocation table、heap_hint を追加(`doc/spec_WAX_v3.md` §3.1)。 - `tools/llvm-src32` に `--pie`、`--heap-hint`。2 回リンクの差分から relocation を作る。 - カーネルの `mm`/`proc`/`wax` をアリーナ方式に変更。`FND_MM_SLOT_ONLY` を `FND_MM_NOMMU_ONLY` に改名(`FND_MM=nommu`)。 - Foundation の全プログラムを `--pie` でビルド。 - 仕様(`doc/spec_Foundation.md` §5)、README、テストを更新。 関連: #90(再配置可能 WAX の設計)、#170(BusyBox。nommu 前提)。
Activity
src3453 commentedon Oct 25, 2026
PR: #177
Generated by Claude Code
Foundation: relocation table の検証を 1 回の走査にし、ディスク起動テストの余裕を広げる (#175)