summaryrefslogtreecommitdiff
path: root/include/kernel/sched.h
blob: afced68dcfd9ce7e07d3f720b9f65db1e89064a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef _SCHED_H
#define _SCHED_H

#include <stdint.h>

struct task_state {
  uint32_t ss;
  uint32_t esp;
  uint32_t eflags;
  uint32_t cs;
  uint32_t eip;
  uint32_t eax;
  uint32_t ecx;
  uint32_t edx;
  uint32_t ebx;
  uint32_t esp_garbage;
  uint32_t ebp;
  uint32_t esi;
  uint32_t edi;
} __attribute__((packed));

struct task_struct {
  struct task_state state;
} __attribute__((packed));

void userspace_init(void);

#endif