feat(kernel): add WaitForInterrupt, AcknowledgeInterrupt, and WaitAny syscalls

This commit is contained in:
2026-10-18 00:26:11 +02:00
parent e7835c0435
commit 8912a944b8
4 changed files with 260 additions and 5 deletions

View File

@@ -21,6 +21,7 @@ use domain::{
process::{ProcessTable, MAX_PROCESSES},
resource::Resource,
scheduler::{multi_core::MultiCoreScheduler, Scheduler},
syscall::WaitSet,
thread::{ThreadTable, ThreadState, MAX_THREADS},
};
use platform::Platform;
@@ -60,6 +61,7 @@ pub struct Kernel<P: Platform> {
irqs: IrqRoutingTable,
pending_messages: [Option<Message>; MAX_THREADS],
pending_results: [Option<SyscallResult>; MAX_THREADS],
wait_sets: [Option<WaitSet>; MAX_THREADS],
}
impl<P: Platform> Kernel<P> {
@@ -77,6 +79,7 @@ impl<P: Platform> Kernel<P> {
irqs: IrqRoutingTable::new(),
pending_messages: [const { None }; MAX_THREADS],
pending_results: [const { None }; MAX_THREADS],
wait_sets: [const { None }; MAX_THREADS],
}
}