|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
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_t * | vxGetSchedulerCore (uint16_t core) |
| void | attach_to_scheduler (thread_t *new_thread) |
| scheduler_queue_t * | vxSchedulerGetCurrentQueue (uint16_t core) |
| void | sch_restore_to_next_thread (volatile interrupt_stack_frame_t *rsp, uint16_t core_id) |
Variables | |
| thread_t * | thread |
| struct scheduler_queue * | prev_queue |
| struct scheduler_queue * | next_queue |
| typedef struct scheduler_core scheduler_core_t |
| typedef struct scheduler_queue scheduler_queue_t |
Definition at line 9 of file scheduler.h.
| struct scheduler_queue __attribute__ | ( | (aligned(64)) | ) |
| void attach_to_scheduler | ( | thread_t * | new_thread | ) |
Definition at line 268 of file scheduler.c.
References core, thread::core_affinity, thread::id, LOG2_DEBUG, LOG2_ERROR, queue, thread::state, THREAD_STATE_READY, and vxAllocScheduler().
| void sch_restore_to_next_thread | ( | volatile interrupt_stack_frame_t * | rsp, |
| uint16_t | core_id ) |
Definition at line 305 of file scheduler.c.
References get_current_core_data(), INFLOOP, lock, msrSetFSBase(), next, paging_reload(), rsp, scheduler, spin_acquire(), spin_release(), thread::state, scheduler_queue::thread, THREAD_STATE_HAL, THREAD_STATE_READY, THREAD_STATE_RUNNING, THREAD_USER, vxDeatachFromScheduler(), and vxRestoreRegister().
Referenced by __attribute__().
| scheduler_core_t * vxGetSchedulerCore | ( | uint16_t | core | ) |
Definition at line 21 of file scheduler.c.
References core, and scheduler.
Referenced by update_core_gs().
| scheduler_queue_t * vxSchedulerGetCurrentQueue | ( | uint16_t | core | ) |
Definition at line 29 of file scheduler.c.
References core, and scheduler.
Referenced by __attribute__(), and vxThreadExit().
| void vxStartScheduler | ( | void | ) |
Definition at line 293 of file scheduler.c.
References APIC_TIMER_PERIOD, get_current_core_cpuid(), INTERRUPT_ATTR_KERNEL, irq_register(), serial_printf(), vxAPICCreateTimer(), and vxSchedulerTick().
Referenced by __attribute__(), and INIT().
| struct scheduler_queue* next_queue |
Definition at line 2 of file scheduler.h.
| struct scheduler_queue* prev_queue |
Definition at line 1 of file scheduler.h.
| thread_t* thread |
Definition at line 0 of file scheduler.h.