Commit Graph

21 Commits

Author SHA1 Message Date
63f27adb1b sched: implement waitqueues 2023-05-10 20:29:57 +01:00
d8326cfec5 sched: remove unused code 2023-05-07 21:42:38 +01:00
a79d109fcc obj: add header-offset field to object_type
this allows the object header to be placed anywhere within the larger
object structure.

the object system now also ensures that the object is zero-initialised
during allocation.
2023-05-06 22:22:05 +01:00
f52ca2f1e2 obj: object header is no longer allocated automatically 2023-05-06 19:48:14 +01:00
7d321fb7f0 sched: add kernel thread creation and SMP-aware thread scheduling 2023-05-04 21:43:18 +01:00
bb524c1576 kernel: add support for getting percpu variables that belong to other CPUs 2023-05-04 21:42:51 +01:00
3a315901ba sched: fix create_idle_thread() not initialising tr_parent 2023-05-03 20:19:11 +01:00
c64577e24e sched: add function to create per-cpu idle threads 2023-05-03 19:27:18 +01:00
fbbe339f72 sched: schedule() no longer switches threads when preempt_count > 0 2023-05-01 08:27:18 +01:00
194efd4b6b sched: fix timeout_expiry() not releasing its reference to this_cpu 2023-05-01 08:26:13 +01:00
8a0291c9b3 sched: add timer tasks and schedule_timeout() 2023-04-30 21:09:36 +01:00
085c3d2a89 sched: add kernel-mode context switching 2023-04-30 14:27:57 +01:00
e2131b08ac sched: track CPU clock cycles used by threads 2023-04-28 21:05:48 +01:00
b6f8c1ccaa kernel: don't use typedef for enums or non-opaque structs 2023-04-13 11:40:52 +01:00
b1b16ba19c kernel: reduce log message spam during boot 2023-04-09 17:14:19 +01:00
80f5e0483c sched: initialise kernel_thread parent ptr 2023-04-09 16:38:08 +01:00
7d003da960 sched: add current_task(), current_thread(), and preempt_disable/enable() 2023-03-28 21:40:56 +01:00
4785c767e4 sched: set kernel_task as current task of bootstrap cpu 2023-03-18 19:35:23 +00:00
62eb3b63a7 sched: add per-cpu runqueue 2023-03-17 20:07:49 +00:00
3e954b1e13 sched: add task and thread alloc functions 2023-03-09 19:55:52 +00:00
902df83654 sched: add struct and object types for task and thread objects 2023-03-06 11:08:26 +00:00