aboutsummaryrefslogtreecommitdiff
path: root/common/mem.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-01-26 15:53:16 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2023-01-26 15:53:16 +0200
commit8a5e4cf53d981e793fca90d9b51bd395265cf4db (patch)
tree245aabe14f45aa717f4f3156bdcfc1afb0388131 /common/mem.c
parent5dad7c7ecccaa1e11be23f53e3198af6933c9f60 (diff)
downloadkmi-8a5e4cf53d981e793fca90d9b51bd395265cf4db.tar.gz
kmi-8a5e4cf53d981e793fca90d9b51bd395265cf4db.zip
add req_page syscall
Diffstat (limited to 'common/mem.c')
-rw-r--r--common/mem.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/mem.c b/common/mem.c
index 2cf72e3..f4a0919 100644
--- a/common/mem.c
+++ b/common/mem.c
@@ -17,6 +17,15 @@ size_t __mm_sizes[10];
size_t __mm_page_shift;
enum mm_order __mm_max_order;
+enum mm_order nearest_order(size_t size)
+{
+ for (enum mm_order order = max_order(); order >= MM_MIN; --order)
+ if (order_size(order) >= size)
+ return order;
+
+ return MM_O0;
+}
+
void init_mem(size_t max_order, size_t bits[10], size_t page_shift)
{
__mm_max_order = max_order;