/* * ======================================================== * * HCore * Copyright Mahrouss Logic, all rights reserved. * * ======================================================== */ #include #include #include typedef HCore::Void (*rt_syscall_proc)(HCore::Int32 id, HCore::HAL::StackFramePtr); HCore::Array kSyscalls; /// @brief Interrupt system call handler. EXTERN_C void rt_syscall_handle(HCore::HAL::StackFramePtr stack) { if (!stack) return; if (stack->Rcx < kKernelMaxSystemCalls && kSyscalls[stack->Rcx] != 0) { (kSyscalls[stack->Rcx].Leak().Leak())(stack->Rcx, stack); } }