2f413c603d
kernel: all string parameters now take a corresponding length parameter
2026-02-19 19:08:17 +00:00
291a5f677e
sched: implement passing arguments to user-mode threads
2026-02-19 19:05:53 +00:00
6019c9307d
kernel: separate headers into kernel and user headers
...
all kernel headers have been moved from include/mango to include/kernel
and include definitions that are only relevant to kernel-space.
any definitions that are relevant to both kernel- and user-space
(i.e. type definitions, syscall IDs) have been moved to
include/mango within libmango.
2026-02-19 18:54:48 +00:00
ee82097017
sched: implement user-mode task and thread creation
2026-02-08 13:11:17 +00:00
d2f303680d
sched: add root vm-region and handle table to struct task
2026-02-08 13:10:54 +00:00
27bed1a3d3
sched: all kernel-mode tasks now have negative task ids
2026-02-08 13:09:29 +00:00
bcda479879
sched: implement task id allocation; remove thread id bitmap
2026-02-08 12:54:43 +00:00
0490541dc9
kernel: adjust formatting
2026-02-08 12:32:48 +00:00
62ec4c93ab
meta: rename
2024-11-02 11:31:51 +00:00
ef05233dcf
sched: allocate and assign ids to each thread
2024-09-17 17:49:05 +01:00
4a1c6cae69
sched: add support for scheduling functions to be executed later
2023-06-14 17:36:45 +01:00
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