public static void SetCommand(SysCallTarget command, DSysCallInfoHandler handler, Process proc = null) { Commands[(uint)command] = new SysCallInfo { CommandID = command, Handler = handler, Process = proc, }; }
public static void Setup() { KernelMessage.WriteLine("Initialize SysCall Manager"); IDTManager.SetInterruptHandler(FunctionIRQ, FunctionInterruptHandler); IDTManager.SetPrivilegeLevel(FunctionIRQ, 0x03); IDTManager.SetInterruptHandler(ActionIRQ, ActionInterruptHandler); IDTManager.SetPrivilegeLevel(ActionIRQ, 0x03); IDTManager.Flush(); Commands = new SysCallInfo[256]; SetCommands(); }