My Project
Loading...
Searching...
No Matches
scheduler.c File Reference
#include "../../includes/me.h"
#include "../../assert.h"
#include "../../includes/ps.h"
#include "../../includes/mg.h"
#include "../../includes/ob.h"

Go to the source code of this file.

Macros

#define IDLE_STACK_SIZE   4096

Functions

void restore_context (TRAP_FRAME *regs)
void restore_user_context (PETHREAD thread)
void kernel_idle_checks (void)
void InitScheduler (void)
NORETURN void Schedule (void)

Variables

PROCESSOR cpus []
EPROCESS PsInitialSystemProcess
uint32_t g_cpuCount
bool smpInitialized

Macro Definition Documentation

◆ IDLE_STACK_SIZE

#define IDLE_STACK_SIZE   4096

Definition at line 21 of file scheduler.c.

Function Documentation

◆ InitScheduler()

void InitScheduler ( void )

Definition at line 26 of file scheduler.c.

◆ kernel_idle_checks()

void kernel_idle_checks ( void )
extern

Definition at line 100 of file kernel.c.

◆ restore_context()

void restore_context ( TRAP_FRAME * regs)
extern

◆ restore_user_context()

void restore_user_context ( PETHREAD thread)
extern

◆ Schedule()

NORETURN void Schedule ( void )

Definition at line 105 of file scheduler.c.

Variable Documentation

◆ cpus

PROCESSOR cpus[]
extern

Definition at line 16 of file smp.c.

◆ g_cpuCount

uint32_t g_cpuCount
extern

Definition at line 128 of file smp.c.

◆ PsInitialSystemProcess

EPROCESS PsInitialSystemProcess
extern

The Stack Overflow check only checks for minor overflows, that don't completely smash the stack, yet do change the canaries (since it only checks in function epilogue) Complete stack smashes are guarded with the guard page in MiCreateKernelStack.

Definition at line 162 of file kernel.c.

◆ smpInitialized

bool smpInitialized
extern

Definition at line 146 of file kernel.c.