Commit Graph

20 Commits

Author SHA1 Message Date
b2dbb88778 thread: move thread awaken functionality to a dedicated function 2026-02-19 19:17:38 +00:00
9424e7bcd6 thread: fix thread object data corruption 2026-02-19 19:17:18 +00:00
4c35723959 sched: add helper functions for opening and resolving handles for a task 2026-02-19 19:16:59 +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
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