os/libc/tasking.c
pjht 51bb986d76 Change IPC to a mailbox-based system
Instead of using PIDs to identify a destination, a process can have one 
or more mailboxes to send messages to.
2019-06-27 17:00:23 -05:00

30 lines
523 B
C

#include <stdint.h>
void yield() {
asm volatile(" \
mov $1, %eax; \
int $80; \
");
}
void createTask(void* task) {
asm volatile(" \
mov $2, %%eax; \
int $80; \
"::"b"(task));
}
void createTaskCr3(void* task,void* cr3) {
asm volatile(" \
mov $9, %%eax; \
int $80; \
"::"b"(task),"c"(cr3));
}
void createTaskCr3Param(void* task,void* cr3,uint32_t param1,uint32_t param2) {
asm volatile(" \
mov $12, %%eax; \
int $80; \
"::"b"(task),"c"(cr3),"d"(param1),"S"(param2));
}