wash
14ebcd4875
kernel: implement object handle tables
2026-02-08 12:55:47 +00:00
wash
6950850f5b
object: add a macro to define object lock/unlock functions
2026-02-08 12:55:13 +00:00
wash
bcda479879
sched: implement task id allocation; remove thread id bitmap
2026-02-08 12:54:43 +00:00
wash
7c4cff24f2
test: update object api usage
2026-02-08 12:52:14 +00:00
wash
b31c3a40b4
vm: sparse: ensure that vm_pages for the reserved bsp region are created
2026-02-08 12:51:55 +00:00
wash
2b1bed844a
vm: change virt_to_phys param to const
2026-02-08 12:51:23 +00:00
wash
26afc3c6c3
vm: sparse: fix region base/limit alignment calculation
2026-02-08 12:50:08 +00:00
wash
d94a6ec7cb
kernel: add generic FATAL_ERROR status code
2026-02-08 12:48:59 +00:00
wash
0d73196b4b
printk: add macro for conditional trace-level printk statements
2026-02-08 12:48:33 +00:00
wash
687ba31d55
bitmap: fix bitmal_clear() clearing bits in the wrong direction
2026-02-08 12:47:58 +00:00
wash
9e223ca5d0
x86_64: implement syscall instruction init and dispatch
2026-02-08 12:47:28 +00:00
wash
4de1463e7c
object: add functions to track handle allocation
2026-02-08 12:37:08 +00:00
wash
5304e5be00
object: rename deref to unref
2026-02-08 12:36:32 +00:00
wash
0853cff56b
vm: remove vm_region; add vm_page_get_size_bytes
2026-02-08 12:33:36 +00:00
wash
aaa76ff197
memblock: make virt_to_phys pointer param const
2026-02-08 12:33:03 +00:00
wash
0490541dc9
kernel: adjust formatting
2026-02-08 12:32:48 +00:00
wash
49a75a1bbe
pmap: change pmap_add* virtual pointer parameter to virt_addr_t
2026-02-08 12:08:26 +00:00
wash
34f614b881
libc: move fill_random to kernel/util
2026-02-08 12:06:50 +00:00
wash
720ed75770
x86_64: add invalid pmap pointer constant
2026-02-08 11:59:18 +00:00
wash
880930e917
x86_64: implement functions to jump to userspace
2026-02-08 11:58:27 +00:00
wash
da611ab070
x86_64: find, record, and reserve the memory location of the bsp
2026-02-08 11:52:33 +00:00
wash
129e782e99
kernel: add functions to get/set the bsp boot module location
2026-02-08 11:38:50 +00:00
wash
00ea2b1b3b
x86_64: adjust formatting
2026-02-08 11:36:16 +00:00
wash
4051265876
x86_64: implement TSS initialisation and user/kernel stack pointer switching
2026-02-08 11:34:49 +00:00
wash
564d4f9ba0
x86_64: rename struct cpu_context; move to machine/cpu.h
2026-02-08 11:32:09 +00:00
wash
c04b33647c
x86_64: add kernel and user virtual memory boundary definitions
2026-02-08 11:27:37 +00:00
wash
a56d69e260
kernel: add a type to represent boot modules
2026-02-08 11:02:35 +00:00
wash
af0d97d6f5
misc: changes from a long time ago
2026-02-03 21:28:15 +00:00
wash
c7d4463f7e
x86_64: remove redundant header files
2025-05-20 23:14:42 +01:00
wash
8811016b7d
kernel: remove redundant header files
2025-05-20 23:14:33 +01:00
wash
e1aeac9562
obj: remove redundant object functions; move to kernel/ subfolder
2025-05-20 23:14:16 +01:00
wash
0ba46e065c
build: build script now exports compile commands
2025-05-20 23:12:21 +01:00
wash
675a6de47e
build: add build script to configure kernel and tools build systems
2025-05-19 22:01:12 +01:00
wash
4d12cab7f7
doc: add kernel interface documentation
2024-11-02 15:12:05 +00:00
wash
62ec4c93ab
meta: rename
2024-11-02 11:31:51 +00:00
wash
065fdeec65
build: convert build system to CMake
2024-11-02 11:21:22 +00:00
wash
8497962af6
kernel: show current task id, thread id, and cpu id in test messages
2024-09-17 17:49:34 +01:00
wash
ef05233dcf
sched: allocate and assign ids to each thread
2024-09-17 17:49:05 +01:00
wash
d29b955ee8
x86_64: re-enable legacy PIC and PIT initialisation
2024-09-17 17:48:26 +01:00
wash
3f992d84fb
kernel: remove everything that is related to device/fs management
...
this is now a microkernel.
2024-09-17 17:47:50 +01:00
wash
9b00f83ff1
build: set default qemu display to SDL
2024-01-07 20:04:55 +00:00
wash
15c576a99d
tools: delete legacy amldecode tool
2024-01-07 20:04:23 +00:00
wash
149f49bd28
vm: limit sparse page init loop to last free page frame
...
when the sector coverage mode is set to free, the loop that initialises the vm_page structs for free and reserved pages is limited to the same upper bound that is used to calculate the sector size and count.
2023-12-30 15:29:48 +00:00
wash
abfd97b924
memblock: fix bounds being ignored when iterating through total or reserved regions
2023-12-30 15:29:13 +00:00
wash
b0c021d4e9
kernel: add kernel.early-console and kernel.console boot args
...
kernel.early-console is used to specify which output device the
kernel boot log should be written to. the first thing the kernel
does on boot after initialising the bootstrap processor is initialise
the early console, making it useful for debugging problems that
occur early in the boot process. this arg accepts a list of hard-coded
values for output devices, such as tty0 for the display or ttyS0
for the serial port. the exact values supported will depend on the
platform.
once all drivers are loaded, the kernel switches to the device specified
by kernel.console for output. unlike kernel.early-console, this arg
specifies the name of a tty device in /dev/tty. this means that, not
only are more devices supported (any device provided by a tty driver),
but the kernel can also get input from the user using this console too
(not used by the kernel itself, but will be used by the user to interact
with userspace programs, like the shell).
2023-12-30 09:09:18 +00:00
wash
fc56f906d3
kexts: serialcon: implement writing to serial ports via tty interface
2023-12-30 09:06:47 +00:00
wash
8af6670b0d
x86_64: move serial port code to serialcon kext
2023-12-29 20:35:26 +00:00
wash
1c5c256c89
vm: sparse sector map now extends to cover only all free pages by default
...
by default, the sector map created under the sparse model now only extends to the last non-reserved page frame, any reserved page frames afterwards are ignored.
2023-12-29 19:53:31 +00:00
wash
36c7f3bbeb
debug: auto-select gdb/lldb session pane when starting debug session
2023-12-27 17:35:27 +00:00
wash
53e756eca0
kernel: add boot argument parsing
2023-12-27 17:34:59 +00:00