feat(ipc): saved replies: SaveReply/ReplySaved (8 per thread, released on thread death, unforgeable); terminal READ saved until Enter (line.rs editor, reader queue), now pinged

This commit is contained in:
2026-10-28 02:09:34 +01:00
parent 3d69c10079
commit d04dcfffa1
19 changed files with 588 additions and 94 deletions

View File

@@ -3,6 +3,8 @@ use crate::macros::bounded;
// Kani runs the real kernel with tiny tables; see kernel/src/proofs.
bounded!(CapSlot, u8, 0, if cfg!(kani) { 3 } else { 63 });
bounded!(Priority, u8, 0, 31);
// A caller a server thread saved to answer later; a thread keeps up to 8.
bounded!(SavedReply, u8, 0, 7);
// Up to a process's whole address window (32 MiB): one request may be big (a
// KDF's memory); budgets bound how much anyone gets.
bounded!(PageCount, u16, 1, 8192);

View File

@@ -43,6 +43,8 @@ pub const SYS_MAP_REGION: usize = 34;
pub const SYS_REGION_ADDRESS: usize = 35;
pub const SYS_WATCH_DEATH: usize = 36;
pub const SYS_SET_TIMER: usize = 37;
pub const SYS_SAVE_REPLY: usize = 39;
pub const SYS_REPLY_SAVED: usize = 40;
/// `PagePerms` in a register.
pub const PERMS_READ_ONLY: usize = 0;