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
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
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
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
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
085c3d2a89
sched: add kernel-mode context switching
2023-04-30 14:27:57 +01:00
b6f8c1ccaa
kernel: don't use typedef for enums or non-opaque structs
2023-04-13 11:40:52 +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
3e954b1e13
sched: add task and thread alloc functions
2023-03-09 19:55:52 +00:00