Commit Graph

85 Commits

Author SHA1 Message Date
ca92093c10 sandbox: vm: add function to iterate though pages in a hugepage 2023-02-01 17:04:20 +00:00
f82ca449b3 build: ensure "all" is the default build rule 2023-02-01 15:04:10 +00:00
af49d47ba8 sandbox: vm: add page splitting, merging, and allocation 2023-02-01 15:03:42 +00:00
4cb30737fb sandbox: vm: remove relative include 2023-02-01 14:03:07 +00:00
bfe3c1cc80 build: rebuild objects that depend on modified headers 2023-02-01 14:02:54 +00:00
2147837e9e sandbox: vm: encode vm_page zone id within p_flags 2023-02-01 12:26:49 +00:00
a0d1fee01e sandbox: add util functions 2023-02-01 12:26:16 +00:00
01b526660e sandbox: vm: set maximum page size to 8 MiB 2023-01-31 18:25:52 +00:00
ee08088fcf sandbox: vm: fix convert_region_to_blocks() not creating more than one block of a given size 2023-01-31 18:25:32 +00:00
324ed2c9d0 sandbox: vm: remove vm_ prefix from source files 2023-01-31 15:28:46 +00:00
2b390ccccb kernel: update license 2023-01-31 13:11:53 +00:00
30d9c011f3 sandbox: memblock: add documentation and license 2023-01-31 13:11:35 +00:00
caf4d2b969 sandbox: btree: add documentation and license 2023-01-30 20:57:55 +00:00
07e2e5099d sandbox: queue: add queue_delete_all() and QUEUE_INIT 2023-01-29 20:11:02 +00:00
077237c4cf sandbox: extra page stats output 2023-01-29 20:10:35 +00:00
c0c930e5a9 sandbox: vm: fix incorrect region/zone limit addresses 2023-01-29 20:10:15 +00:00
8fb71ccb77 sandbox: vm: add page attribute getters 2023-01-29 20:09:15 +00:00
66afb5ca28 sandbox: vm: fix block reservation status for regions with one homogeneous set of pages 2023-01-29 11:17:09 +00:00
885ed7d765 sandbox: memblock: abort on unsatisfiable alloc request 2023-01-29 11:15:43 +00:00
a7ebdeba73 sandbox: increase memblock heap area size 2023-01-29 11:14:33 +00:00
a3c6018d96 sandbox: vm: enforce alignment requirements for multi-page blocks 2023-01-29 11:03:53 +00:00
d0341a5e35 sandbox: vm: organise pages into zoned blocks 2023-01-28 19:24:28 +00:00
0227cb822b sandbox: add double linked-list data structure 2023-01-27 21:04:26 +00:00
350a3da18d sandbox: re-organise test functions 2023-01-26 20:36:11 +00:00
44836149cd sandbox: btree: add in-order tree traversal 2023-01-26 20:35:56 +00:00
e2fbc4e40b sandbox: btree: add macros to define custom btree inserter
tree keys are no longer stored in btree_node_t. The tree user is responsible for
defining their own node type that includes btree_node_t, and a comparator for the nodes.
2023-01-26 18:30:14 +00:00
c35f06e191 sandbox: increase number of nodes in btree test 2023-01-25 18:17:34 +00:00
2b099142e3 sandbox: btree: fix replace_node_with_one_subtree() not updating tree root 2023-01-24 21:35:32 +00:00
dbf3ad101d sandbox: btree: deletion fixup bugfix 2023-01-24 21:26:22 +00:00
bf8da4dbb5 sandbox: AVL tree deletion bugfixes and testing 2023-01-22 20:21:29 +00:00
cd217186a2 sandbox: btree_test() now checks that constructed tree is a valid AVL tree 2023-01-21 21:42:54 +00:00
09ce964190 sandbox: added some AVL tree insertion stress testing 2023-01-21 17:36:37 +00:00
4eba81eb09 Removed debug messages from generate_compile_commands 2023-01-19 20:53:12 +00:00
1bd9576a8d Implemented more memory manager and btree tests in sandbox 2023-01-19 20:52:56 +00:00
a53edf230f AVL tree is now fixed after node is deleted 2023-01-19 20:51:59 +00:00
a275ca0955 Started implementing btree deletion 2023-01-18 19:45:58 +00:00
1c0a4bc708 Implemented AVL tree insertion 2023-01-15 08:24:51 +00:00
a97b2da73e Started implementing a self-balancing binary tree data structure 2023-01-13 18:31:52 +00:00
a84355a063 generate_compile_commands.py can now handle different make-output path delimiters 2023-01-10 20:59:14 +00:00
18157925e7 Updated gitignore 2023-01-10 20:54:16 +00:00
39c2ee0e0f Added a memory map to sandbox memblock test 2023-01-10 20:53:50 +00:00
44cd04c57a Fixed directory change parsing in generate_compile_commands.py 2023-01-10 20:53:07 +00:00
bfb0b98a80 Added more tests for memblock_alloc() 2023-01-09 18:26:33 +00:00
34faa01b8e Fixed bounded memblock iteration including negative-sized regions 2023-01-09 18:25:35 +00:00
2f6845692a Updated gitignore 2023-01-08 14:17:36 +00:00
bbb09b2549 Created separate memblock functions for virtual and physical memory allocation 2023-01-08 12:21:13 +00:00
0d77d97561 memblock can now self re-allocate its internal buffers
memory allocated by memblock_alloc() can now be limited to a certain region.
2023-01-08 12:13:59 +00:00
02211e6eba Implemented memblock_alloc() 2022-12-29 20:53:39 +00:00
d9daeae384 Fixed an arithmetic bug causing reserved memory regions at address 0x00 to be ignored 2022-12-29 20:53:24 +00:00
677661b115 Updated compiler database generator to handle multiple target executables 2022-12-29 20:17:06 +00:00