summaryrefslogtreecommitdiffhomepage
path: root/Kernel/ArchKit
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-06-19 07:59:04 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-06-19 07:59:04 +0000
commitb820eb6a5a7948597d81998137b05ddc0eb0dbad (patch)
treedb4eaea0b6863076c4f1476f361e2317823a663a /Kernel/ArchKit
parent36ff25861676cd1f5fb94b901fa59b015c614bc5 (diff)
parent6735570c44516661260546dadb81f0f5c238d1db (diff)
Merged in MHR-31 (pull request #16)
MHR-31: Round robin scheduler.
Diffstat (limited to 'Kernel/ArchKit')
-rw-r--r--Kernel/ArchKit/ArchKit.hpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Kernel/ArchKit/ArchKit.hpp b/Kernel/ArchKit/ArchKit.hpp
index 419f2c7a..c889c93c 100644
--- a/Kernel/ArchKit/ArchKit.hpp
+++ b/Kernel/ArchKit/ArchKit.hpp
@@ -79,12 +79,23 @@ namespace NewOS
#define kKernelMaxSystemCalls (256)
-typedef NewOS::Void (*rt_syscall_proc)(NewOS::HAL::StackFramePtr);
+typedef NewOS::Void (*rt_syscall_proc)(NewOS::VoidPtr);
-extern NewOS::Array<rt_syscall_proc,
+struct RTSyscallInfoHdr final
+{
+ NewOS::Int64 fHash;
+ NewOS::Bool fHooked;
+ rt_syscall_proc fProc;
+};
+
+inline NewOS::Array<RTSyscallInfoHdr,
kKernelMaxSystemCalls>
kSyscalls;
+inline NewOS::Array<RTSyscallInfoHdr,
+ kKernelMaxSystemCalls>
+ kKerncalls;
+
EXTERN_C NewOS::HAL::StackFramePtr rt_get_current_context();
EXTERN_C NewOS::Void rt_do_context_switch(NewOS::HAL::StackFramePtr stackFrame);