b2d04c5983
vm: object: zero-initialise pages allocated for vm-object
2026-02-21 23:19:49 +00:00
6c2ca888ee
x86_64: remove kernel image post-build ELF32 patch
...
this patch must now be done by the wider OS build system, to avoid
interference with any bootloaders that don't support this kind of
patching (e.g GRUB i386-pc)
2026-02-21 23:18:22 +00:00
044b3688aa
vm: cache: all allocations are now zero-initialised
2026-02-21 23:18:09 +00:00
77936e3511
kernel: implement sending, receiving, and replying to message via port/channel
2026-02-21 11:32:57 +00:00
08c78bd6e7
vm: object: add vm_object_copy syscall trace output
2026-02-21 11:30:44 +00:00
2537ca46de
libmango: add macros for easily defining msg and iovec variables
2026-02-21 11:29:25 +00:00
3190035086
libmango: add temporary formatted log function
2026-02-21 11:28:58 +00:00
7f049293f4
vm: memblock: add memblock_dump to header
2026-02-21 11:27:28 +00:00
9b2c2f6b29
x86_64: start the kernel bootstrap heap above 16MiB
...
this will keep the memory area below 16MiB free for DMA memory allocations.
2026-02-21 11:24:36 +00:00
6e39dd45a4
sched: only disable/enable interrupts if schedule() is called from non-IRQ context
2026-02-21 11:23:43 +00:00
855440f584
vm: add trace output
2026-02-21 11:22:51 +00:00
e1e025ab6a
vm: region: memmove_v() now supports iovec arrays stored in userspace
2026-02-21 11:20:09 +00:00
0680b73461
kernel: iovec: implement iterating through an iovec list stored in userspace
2026-02-21 11:17:16 +00:00
aa0933be10
vm: region: implement reading from a user-space vm-region into a kernel buffer
2026-02-21 11:16:11 +00:00
8b188a0ac4
vm: region: fix iterator using wrong buffer offset when seek exceeds current buffer size
2026-02-21 11:07:53 +00:00
ed25ee6761
vm: object: fix iterator using wrong buffer offset when seek exceeds current buffer size
2026-02-21 11:07:12 +00:00
0bae39e550
vm: zone: ensure memblock region bounds are page-aligned while creating zone blocks
2026-02-21 11:01:58 +00:00
9a90662eaa
libmango: add userspace syscall call-gates
2026-02-19 19:22:06 +00:00
1d4fd4f586
syscall: add lots of syscalls
2026-02-19 19:21:50 +00:00
dbc7b8fc59
kernel: libc: add headers
2026-02-19 19:21:15 +00:00
aa9439c392
kernel: add channel/port ipc mechanism
2026-02-19 19:21:04 +00:00
8e072945d8
kernel: add functions for moving sets of handles between tasks
2026-02-19 19:20:39 +00:00
821246bc16
kernel: add functions for iterating through an array of iovecs
2026-02-19 19:19:52 +00:00
fc8cdf62d3
bsp: adjust bsp executable mapping
2026-02-19 19:18:31 +00:00
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
2b7e5368c9
vm: implement copying data between different vm-regions
2026-02-19 19:15:15 +00:00
85006411bd
kernel: add header files
2026-02-19 19:13:44 +00:00
f2e128c57e
handle: re-arrange handle space layout
...
the lowest 2 bits of handle values are no longer unused, and 0 is
now a valid handle value.
the first 64 handles are now reserved, and will not be automatically
allocated by the kernel. however, they are still valid handles, and
other handles can be moved to this area using an as-yet-unwritten
function. this is to allow support for standard POSIX file descriptors,
which require the values 0, 1, and 2.
2026-02-19 19:11:11 +00:00
c6e1ba21dd
vm: implement direct read/write/copy access to vm-object memory
2026-02-19 19:09:38 +00:00
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
b188573eea
x86_64: pmap: change pmap_remove* pointer args to virt_addr_t
2026-02-19 19:02:28 +00:00
c69aed254f
x86_64: enable interrupts during syscall execution
2026-02-19 19:00:04 +00:00
44c2904c11
x86_64: re-arrange user and kernel GDT entries for compatibility with syscall instruction
2026-02-19 18:59:37 +00:00
f89e3cb12c
kernel: adjust formatting
2026-02-19 18:57: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
e3dd48a0fa
build: remove per-subdirectory log message
2026-02-08 16:17:47 +00:00
9f7b7bdd2d
kernel: refactor syscall dispatch system
2026-02-08 16:17:11 +00:00
c424e8127e
kernel: bsp: update vm-region api usage
2026-02-08 15:52:04 +00:00
fb7d7635c2
vm: region: refactor to use offsets rather than absolute addresses
2026-02-08 15:51:51 +00:00
409725f9d4
kernel: implementing mapping and execution of bsp executable
2026-02-08 13:13:03 +00:00
1c74291b99
kernel: add a temporary syscall dispatch system
2026-02-08 13:12:24 +00:00
5d28955dc6
vm: update vm-page documentation
2026-02-08 13:11:41 +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
18a5325fa7
sched: add PID_MAX definition
2026-02-08 13:07:14 +00:00
7eaad64969
pmap: declare fault handler function and flags
2026-02-08 13:06:19 +00:00