feat(kernel): WatchDeath + SetTimer events as notification signals; adapter wakes at earliest deadline

This commit is contained in:
2026-10-27 16:06:04 +01:00
parent a4f467f45d
commit 817a38993b
25 changed files with 517 additions and 21 deletions

View File

@@ -4,7 +4,7 @@ use types::{
address::{EntryPoint, PhysicalAddress, StackPointer, VirtualAddress},
id::{CoreId, IrqId, ProcessId},
mapping::PagePerms,
time::{Ticks, TimerDuration},
time::Ticks,
};
/// Supplies frames for page tables while the platform builds an address
@@ -54,7 +54,9 @@ pub trait Platform {
fn zero_frame(&mut self, pa: PhysicalAddress);
fn enable_user_mode(&mut self, entry: EntryPoint, stack: StackPointer) -> !;
fn set_timer(&mut self, duration: TimerDuration);
/// Makes sure this core takes a timer interrupt by `deadline`, on top
/// of its scheduling tick.
fn wake_at(&mut self, deadline: Ticks);
fn current_ticks(&self) -> Ticks;
fn mask_irq(&mut self, irq: IrqId);
fn unmask_irq(&mut self, irq: IrqId);