d4449b8d87
sandbox: vm: make kmalloc(size: 0) return NULL
2023-02-02 21:12:14 +00:00
ba415b2942
sandbox: vm: fix double evaluation of queue_pop_front()
2023-02-02 21:11:29 +00:00
4175f67b9b
sandbox: vm: replace calls to queue_length() with queue_empty()
2023-02-02 21:10:37 +00:00
a33c490852
sandbox: vm: vm_page p_slab field is now set for slab pages
2023-02-02 21:07:22 +00:00
c47da5864c
sandbox: vm: add temporary vm_virt_to_phys() implementation
2023-02-02 21:06:04 +00:00
90dd51008f
sandbox: vm: fix vm_cache.c_hdr_size not being calculated
2023-02-02 21:03:27 +00:00
d43347436f
sandbox: memblock: align allocated pointers to 16-byte boundary
2023-02-02 21:01:22 +00:00
799a23014a
sandbox: add locking primitives
2023-02-02 21:00:40 +00:00
7d3000e84d
sandbox: queue: remove q_length field, add queue_empty()
2023-02-02 21:00:23 +00:00
662be5ec1f
sandbox: vm: add cache allocator, generic size-N caches for kmalloc()
2023-02-02 16:58:48 +00:00
3c781a4cb3
sandbox: vm: make vm_page queue entry private, owner-defined usage
2023-02-02 16:58:24 +00:00
e5a7546996
sandbox: vm: temporary implementation of vm_page_get_vaddr()
2023-02-02 16:57:03 +00:00
7331bdefda
sandbox: vm: reduce vm_page order field size to 4 bits
2023-02-02 16:54:48 +00:00
ab46b7cd13
sandbox: vm: fix bad array index in replenish_free_page_list
2023-02-02 16:47:32 +00:00
49e23849a5
sandbox: queue: check list is not empty before popping entries
2023-02-02 16:45:13 +00:00
9409ebbb19
sandbox: vm: implement page freeing; merge/split bugfix
2023-02-01 17:05:14 +00:00
ca92093c10
sandbox: vm: add function to iterate though pages in a hugepage
2023-02-01 17:04:20 +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
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
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