diff options
Diffstat (limited to 'common/mem.c')
| -rw-r--r-- | common/mem.c | 9 |
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; |
