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

@@ -1,7 +1,7 @@
use types::{
address::{DataRef, EntryPoint, StackPointer, VirtualAddress},
badge::Badge,
bounded::{CapSlot, PageCount},
bounded::{CapSlot, PageCount, SavedReply},
mapping::PagePerms,
permission::PermissionSet,
time::Ticks,
@@ -104,6 +104,14 @@ pub enum Syscall {
notification: CapSlot,
deadline: Ticks,
},
/// Keeps the caller this thread owes a reply to, to answer later
/// (`ReplySaved`) while it receives others; returns which it is.
SaveReply,
/// Answers a caller kept with `SaveReply`, once.
ReplySaved {
reply: SavedReply,
message: Message,
},
/// Removes a capability from the caller's own table.
DropCap {
slot: CapSlot,