wash
04617e81e3
kernel: add a syscall to query generic information about an object
2026-03-29 11:50:37 +01:00
wash
62770f4ab2
kernel: replace kern_handle_duplicate with the more powerful kern_handle_transfer
...
this syscall can move and copy handles within the current task, or from/to
other tasks
2026-03-29 11:48:59 +01:00
wash
9001f8e064
kernel: handle: rename handle transfer mode constants
2026-03-29 11:48:31 +01:00
wash
537242e606
kernel: handle: add support for allocating a specific handle value
2026-03-29 11:47:22 +01:00
wash
dfffb45e66
libc: adjust formatting
2026-03-29 11:43:39 +01:00
wash
f5a83af0d7
kernel: remove SEND_BLOCKED and REPLY_BLOCKED statuses from ports
...
this allows a port to be used by multiple threads at the same time
2026-03-29 11:42:23 +01:00
wash
7d25f1c31a
x86_64: suppress serial port input logging
2026-03-29 11:32:03 +01:00
wash
95d33ddcb9
kernel: msg: async messages no longer hold a pointer to the thread/port that sent them
...
this prevents a race condition where an event is sent as a port is being destroyed.
when the server gets around to handling the event, it now refers to a different port
that was created in the mean-time.
2026-03-25 20:19:19 +00:00
wash
a0a6a061a4
vm: controller: add an auto-detach flag for vm-objects
2026-03-24 20:24:12 +00:00
wash
4daffa804c
vm: address-space: fix incorrect op calculation in unmap and release
2026-03-24 20:23:46 +00:00
wash
4be642f2e5
vm: controller: implement asynchronous DETACH page requests
2026-03-24 20:21:35 +00:00
wash
7dc0c742fa
kernel: rebuild object ref-counting using atomic types
2026-03-24 19:10:36 +00:00
wash
9faa11cddc
kernel: add atomic operations
2026-03-24 19:09:36 +00:00
wash
89d02c72ee
kernel: msg: implement asynchronous event messages
2026-03-24 18:32:33 +00:00
wash
110f625f04
syscall: task: implement thread_self
2026-03-22 19:02:31 +00:00
wash
86f6c81781
vm: address-space: fix infinite loop in validate_access
2026-03-22 19:02:20 +00:00
wash
6350032e88
cmake: update for compatibility with CMake 4.0
2026-03-22 19:01:36 +00:00
wash
a2c89df195
kernel: convert some verbose log messages to trace messages
2026-03-21 10:27:23 +00:00
wash
35949fa8db
vm: object: ensure page request offets are page-aligned
2026-03-21 10:27:03 +00:00
wash
d6c84565af
x86_64: cmake: ensure the kernel is built as a static binary
2026-03-21 10:26:12 +00:00
wash
4551e7b2e6
sched: implement various ways to end tasks and threads
2026-03-18 21:07:43 +00:00
wash
e03b2e07d0
vm: address-space: implement address space cleanup
2026-03-18 21:07:27 +00:00
wash
24f9ef85bf
sched: implement user-configurable fs and gs segment base addresses
2026-03-18 21:07:05 +00:00
wash
63703a3d34
sched: don't reschedule a thread if its status is THREAD_STOPPED
2026-03-18 21:02:40 +00:00
wash
d801203f04
syscall: vm-object: fix dangling reference to newly-created object
2026-03-18 21:02:19 +00:00
wash
2a1a0cf14d
kernel: finish implementation of private and shared futexes
2026-03-18 21:02:09 +00:00
wash
b774415f64
sched: wait: implement wakeup_n, waitqueue_empty
2026-03-18 20:56:15 +00:00
wash
04d05adbe8
kernel: handle: implement handle_table_destroy()
2026-03-18 20:55:35 +00:00
wash
c0e212ac98
x86_64: panic: fix incorrect kernel stack traversal
2026-03-18 20:54:49 +00:00
wash
88405233a8
vm: object: implement object cleanup
2026-03-18 20:53:56 +00:00
wash
42a293e753
x86_64: pmap: implement pmap_destroy()
2026-03-18 20:53:24 +00:00
wash
1eef23ea98
thread: store struct msg on the stack instead of in the thread
2026-03-18 20:52:47 +00:00
wash
30c9c9db45
kernel: add futex definitions
2026-03-15 22:22:58 +00:00
wash
c1e0b38952
vm: object: add missing include
2026-03-15 22:22:43 +00:00
wash
8a38d940cc
vm: address-space: add function to translate virtual addresses to physical
2026-03-15 22:22:25 +00:00
wash
a2e918c428
vm: evict PTE entries for transferred vm-object pages
2026-03-15 14:40:24 +00:00
wash
399742cabf
x86_64: pmap: implement pmap_remove
2026-03-15 14:38:32 +00:00
wash
cef4af53c9
x86_64: add pre-processor token to control hardware rng
2026-03-15 14:38:11 +00:00
wash
0af35c70ef
vm: implement demand-paging via userspace services with vm-controller
2026-03-14 22:39:14 +00:00
wash
f04c524bb5
vm: object: implement transferring pages between objects
2026-03-14 22:38:14 +00:00
wash
5d04dbb15a
kerne: object: add lock_pair() functions to object lock template macro
2026-03-14 22:32:59 +00:00
wash
a146f4a750
syscall: fix some missed-signal bugs in kern_object_wait
2026-03-14 22:32:26 +00:00
wash
2d267d2b51
kernel: add a syscall to duplicate a handle
2026-03-14 22:31:37 +00:00
wash
b7f3bd77a7
libmango: update syscall definitions
2026-03-14 22:29:29 +00:00
wash
a50826eb15
x86_64: implement stack traces for user-mode stacks
2026-03-14 22:28:24 +00:00
wash
62bdb51618
kernel: add functions to lock/unlock a pair of locks without saving irq flags
2026-03-14 22:25:15 +00:00
wash
115a2e7415
x86_64: enable interrupts during pmap_handle_fault
...
interrupts will need to be enable to allow for requesting missing pages from userspace
services.
2026-03-14 22:23:43 +00:00
wash
e73a5c41ce
sched: fix thread_awaken manipulating a runqueue without locking it
2026-03-14 22:23:07 +00:00
wash
89dac0c951
sched: add a thread flag to indicate when a thread is scheduled on a runqueue
...
this prevents runqueue corruption that can occur if rq_enqueue is called on
a thread that's already on a runqueue.
2026-03-14 22:22:05 +00:00
wash
7c630ece54
sched: add wait begin/end functions that don't change thread state
...
these functions can be used when waiting on multiple queues at once, to prevent
the thread state from being changed unexpectedly while initialising a set of wait items.
2026-03-14 22:20:10 +00:00