diff --git a/src/ram.c b/src/ram.c index 699d067..a41ef3b 100644 --- a/src/ram.c +++ b/src/ram.c @@ -282,7 +282,11 @@ ram_alloc_buffer(struct ppn *ppn_out, struct ram_buffer_requirements req) TODO(); } - unsigned magnitude = next_pow2(req.size); + if (req.size < 4096) { + req.size = 4096; + } + uint64_t next_size = next_pow2(req.size); + unsigned magnitude = __builtin_ffsl(next_size) - 1 - 12; uint64_t addr; if (!alloc_block(&addr, magnitude)) {