feat(kernel): WatchDeath + SetTimer events as notification signals; adapter wakes at earliest deadline
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user