aboutsummaryrefslogtreecommitdiff
path: root/src/scheduler/task.cc
blob: 7f62f8d72c2c33f2ef1078448ab3ed5fb17b5ef3 (plain)
1
2
3
4
5
6
7
8
#include "scheduler.h"

Scheduler::task::task(uint8_t* stack, void (*entry)(), uint16_t cs) {
  cpu = reinterpret_cast<cpu_state_t*>(stack + 4096 - sizeof(cpu_state_t));
  cpu->eip = reinterpret_cast<uint32_t>(entry);
  cpu->cs = cs;
  cpu->eflags = 0x202;
}