Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
scheduler.h File Reference
#include "hal/cpu/interrupt.h"
#include "procc/thread.h"
#include <spinlock.h>
#include <type.h>

Go to the source code of this file.

Data Structures

struct  scheduler_queue
 
struct  scheduler_core
 

Typedefs

typedef struct scheduler_queue scheduler_queue_t
 
typedef struct scheduler_core scheduler_core_t
 

Functions

struct scheduler_queue __attribute__ ((aligned(64)))
 
void vxStartScheduler (void)
 
scheduler_core_tvxGetSchedulerCore (uint16_t core)
 
void attach_to_scheduler (thread_t *new_thread)
 
scheduler_queue_tvxSchedulerGetCurrentQueue (uint16_t core)
 
void sch_restore_to_next_thread (volatile interrupt_stack_frame_t *rsp, uint16_t core_id)
 

Variables

thread_tthread
 
struct scheduler_queueprev_queue
 
struct scheduler_queuenext_queue
 

Typedef Documentation

◆ scheduler_core_t

◆ scheduler_queue_t

Definition at line 9 of file scheduler.h.

Function Documentation

◆ __attribute__()

struct scheduler_queue __attribute__ ( (aligned(64)) )

Definition at line 1 of file core.h.

◆ attach_to_scheduler()

void attach_to_scheduler ( thread_t * new_thread)

◆ sch_restore_to_next_thread()

◆ vxGetSchedulerCore()

scheduler_core_t * vxGetSchedulerCore ( uint16_t core)

Definition at line 21 of file scheduler.c.

References core, and scheduler.

Referenced by update_core_gs().

◆ vxSchedulerGetCurrentQueue()

scheduler_queue_t * vxSchedulerGetCurrentQueue ( uint16_t core)

Definition at line 29 of file scheduler.c.

References core, and scheduler.

Referenced by __attribute__(), and vxThreadExit().

◆ vxStartScheduler()

void vxStartScheduler ( void )

Variable Documentation

◆ next_queue

struct scheduler_queue* next_queue

Definition at line 2 of file scheduler.h.

◆ prev_queue

struct scheduler_queue* prev_queue

Definition at line 1 of file scheduler.h.

◆ thread

thread_t* thread

Definition at line 0 of file scheduler.h.