fix: capacities single-sourced in types (display MAX_WINDOWS/BUFFER_PAGES, storage MAX_CLIENTS), display + storage budgets derived from them, const asserts on VA layouts; kernel regions 64 -> 256

This commit is contained in:
2026-10-28 16:06:55 +01:00
parent 495bf03484
commit 3b71f29f4c
9 changed files with 38 additions and 15 deletions

View File

@@ -38,13 +38,16 @@ pub fn load_init(uart: &Uart) -> LoadedProcess {
}
/// Storage's budget, carved from init's.
const STORAGE: Limits = Limits {
// A 16-page buffer per client (16), its image and cache.
pages: 512,
endpoints: 2,
notifications: 2,
// A buffer per client and the disk's DMA.
regions: 20,
const STORAGE: Limits = {
use types::storage::{BUFFER_PAGES, MAX_CLIENTS};
Limits {
// A buffer per client, and its image, heap and cache.
pages: MAX_CLIENTS * BUFFER_PAGES + 256,
endpoints: 2,
notifications: 2,
// A buffer per client, and the disk's DMA.
regions: MAX_CLIENTS + 4,
}
};
/// Storage, which init needs to read anything else, its budget carved