Core Process Scheduler header file.
#define kSchedNameLen
Definition CoreProcessScheduler.h:24
#define kSchedMaxStackSz
Definition CoreProcessScheduler.h:22
ErrorOr class for error handling.
Definition ErrorOr.h:22
Equivalent of USER_PROCESS, but for kernel tasks.
Definition KernelTaskScheduler.h:24
SizeT StackSize
Definition KernelTaskScheduler.h:30
HAL::StackFramePtr StackFrame
Definition KernelTaskScheduler.h:28
UInt8 * StackReserve
Definition KernelTaskScheduler.h:29
Char Name[kSchedNameLen]
Definition KernelTaskScheduler.h:26
ProcessImage Image
Definition KernelTaskScheduler.h:31
KID Kid
a KID is a Kernel ID, it is used to find a task running within the kernel.
Definition KernelTaskScheduler.h:34
ProcessSubsystem SubSystem
Definition KernelTaskScheduler.h:27
Equivalent of UserProcessHelper, but for kernel tasks.
Definition KernelTaskScheduler.h:39
STATIC Bool Add(HAL::StackFramePtr frame_ptr, ProcessID new_kid)
Definition KernelTaskScheduler.cc:21
STATIC Bool CanBeScheduled(const KERNEL_TASK &process)
Definition KernelTaskScheduler.cc:34
STATIC SizeT StartScheduling()
STATIC ErrorOr< KID > TheCurrentKID()
STATIC Bool Remove(const KID kid)
Definition KernelTaskScheduler.cc:28
StackFrame * StackFramePtr
Definition Processor.h:34
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
Int64 ProcessID
Local Process Identifier type.
Definition CoreProcessScheduler.h:219
ProcessSubsystem
Subsystem enum type.
Definition CoreProcessScheduler.h:145
@ kProcessSubsystemKernel
Definition CoreProcessScheduler.h:150
__SIZE_TYPE__ SizeT
Definition Config.h:60
__UINT8_TYPE__ UInt8
Definition Config.h:55
ProcessID KID
Definition KernelTaskScheduler.h:20
bool Bool
Definition Config.h:50
Helper class to contain a process's image and blob.
Definition CoreProcessScheduler.h:239