blob: 964f2c0efe6bb4fcc2bd99d843039714daf030f6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#ifndef _JOVE_PROC_SCHEDULER_H
#define _JOVE_PROC_SCHEDULER_H 1
#include "process.h"
void scheduler_init(jove_owned_obj_t *pcb_obj, void *process_main);
void scheduler_savestate(void);
void scheduler_restorestate(void);
void scheduler_switch(void *this_sp, void *other_sp, void *other_cr3);
void _scheduler_switch_pcb_arch(pcb_t *target);
int scheduler_yield(pid_t target);
void scheduler_tick(void);
void scheduler_block_for_mail(struct pcb_header *pcb, size_t timeout, pid_t yield_target);
#endif
|