wip: IPC and Runtime

This commit is contained in:
karina
2026-05-03 21:57:20 +04:00
parent 5f343c991b
commit 39b2af7626
25 changed files with 371 additions and 66 deletions
+4 -8
View File
@@ -5,6 +5,7 @@
#include <Arch/GIC.h>
#include <OS/Panic.h>
#include <OS/Scheduler.h>
#include <OS/Syscall.h>
Address ExceptionsHandler(ExceptionsContext* frame, ExceptionsType type) {
if (type == ExceptionsIRQEl1h || type == ExceptionsIRQEl064) return GICDispatch(frame, type);
@@ -13,14 +14,9 @@ Address ExceptionsHandler(ExceptionsContext* frame, ExceptionsType type) {
UInt32 class = (esr >> 26) & 0x3F;
UInt32 syndrome = esr & 0x1FFFFFF;
if (class == 0x11 || class == 0x15) {
if (syndrome == kOSSchedulerExceptionNumber) {
return SchedulerNext((Address)frame);
}
}
if (class == 0x15 && syndrome == 0) {
OSPanic("Hi from userspace!!");
if (class == 0x15) {
if (syndrome == kOSSchedulerExceptionNumber) return SchedulerNext((Address)frame);
if (syndrome == 0) return SyscallDispatch(frame);
}
}
OSPanicException(frame);