aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/thread.h
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:39:41 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-09 17:40:03 +0100
commitf2c51bc81d2aa618b29ddbeaae5ac1c5308821f0 (patch)
treefae67a79d5e60128d074550326a05216694a5848 /kernel/include/thread.h
parenta5dfdd2b3fa91a2cda4f807c88bd35928e3c7a61 (diff)
downloadkogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.tar.gz
kogata-f2c51bc81d2aa618b29ddbeaae5ac1c5308821f0.zip
Reorganize all.
Diffstat (limited to 'kernel/include/thread.h')
-rw-r--r--kernel/include/thread.h46
1 files changed, 0 insertions, 46 deletions
diff --git a/kernel/include/thread.h b/kernel/include/thread.h
deleted file mode 100644
index 757ba00..0000000
--- a/kernel/include/thread.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include <sys.h>
-#include <paging.h>
-#include <region.h>
-
-#define T_STATE_RUNNING 1
-#define T_STATE_PAUSED 2
-#define T_STATE_FINISHED 3
-
-#define KPROC_STACK_SIZE 0x8000 // 8Kb
-
-#define TASK_SWITCH_FREQUENCY 100 // in herz
-
-typedef struct saved_context {
- uint32_t *esp;
- void (*eip)();
-} saved_context_t;
-
-struct process;
-typedef struct thread {
- saved_context_t ctx;
- pagedir_t *current_pd_d;
-
- uint32_t state;
-
- region_info_t *stack_region;
-
- struct process *proc; // process : L1 data structure
-
- struct thread *next_in_queue;
-} thread_t;
-
-typedef void (*entry_t)(void*);
-
-void threading_setup(entry_t cont, void* data); // never returns
-thread_t *new_thread(entry_t entry, void* data); // thread is PAUSED, and must be resume_thread'ed
-
-extern thread_t *current_thread;
-
-void yield();
-void pause();
-
-void resume_thread(thread_t *thread, bool run_at_once);
-
-/* vim: set ts=4 sw=4 tw=0 noet :*/