f2b929e52e
btree: fix bad function name expansion in BTREE_DEFINE_SIMPLE_GET()
2023-03-09 19:55:26 +00:00
22743edeb7
pmap: add get_kernel_pmap()
2023-03-09 19:50:22 +00:00
902df83654
sched: add struct and object types for task and thread objects
2023-03-06 11:08:26 +00:00
d41ea0cd52
kernel: implement initcalls and a testing system
2023-02-26 10:05:39 +00:00
bc1bc9fec5
obj: add set and namespace object callbacks
2023-02-25 19:12:09 +00:00
8c87e78797
obj: add more set and namespace functions
2023-02-25 17:57:53 +00:00
ef10ed5cd2
kernel: add initial object manager definitions
2023-02-17 19:36:14 +00:00
5b9bdd4848
kernel: add definitions for a TTY device interface.
2023-02-09 11:35:35 +00:00
a7d4166c89
vm: implement a sparse memory model
2023-02-08 17:13:01 +00:00
6690572bf3
kernel: add utility math functions
2023-02-08 17:12:34 +00:00
b8eb88627a
vm: add huge page order size definitions
2023-02-08 17:11:08 +00:00
4edc7e308e
vm: refactor page_array and functions into a separate source file
2023-02-07 21:18:08 +00:00
625eac9ca7
x86_64: implement bootstrap function for pmap interface
2023-02-06 20:50:38 +00:00
0516ef06a3
vm: explicitly initialise kmalloc in vm_bootstrap
...
if kmalloc is called with count=N before vm_bootstrap is finished,
the request will be fulfilled using memblock_alloc.
if N is a power of 2, the returned pointer will be aligned to
an N-byte boundary.
2023-02-06 20:50:38 +00:00
5c7bde4fdf
vm: add alignment parameter to cache allocator
...
caches with object size N, where N is a power of two, will naturally
align their objects on N-byte boundaries.
all other caches will align to an 8-byte boundary by default.
2023-02-06 20:50:38 +00:00
109616ec30
vm: add memblock support to vm_virt_to_phys, add vm_phys_to_virt
2023-02-06 20:50:38 +00:00
998f05d337
memblock: add functions to convert allocated pointers between virt/phys
2023-02-06 20:50:38 +00:00
6afb3bd10d
memblock: add alignment parameter to alloc functions
2023-02-06 20:50:38 +00:00
58171df912
vm: move arch-specific definitions to arch/
2023-02-05 10:28:07 +00:00
17b90a484a
kernel: print version banner on boot
2023-02-04 19:19:48 +00:00
31cb7aab8b
kernel: add basic console registration system and printk()
2023-02-04 19:03:45 +00:00
d0a431c860
kernel: add basic spinlocks
2023-02-04 19:03:30 +00:00
247bb2b530
kernel: port sandbox components
2023-02-03 20:51:23 +00:00
40f83922da
sandbox: moved all sources to main kernel tree
2023-02-03 20:43:38 +00:00
e714d619ba
kernel: remove placeholder vm subsystem
2023-02-03 20:37:45 +00:00
bcdf101779
kernel: add stub logging function
2023-02-03 20:26:02 +00:00
e922a776c3
Added stubs for the kernel memory manager
2022-12-28 23:04:09 +00:00
fac31086f5
Implemented a status return type
2022-12-28 23:03:49 +00:00
26853c32c8
Implemented GDT initialisation
2022-12-24 10:28:41 +00:00
8475a6139e
Implemented some basic libc functions and a text console
2022-12-21 08:29:33 +00:00