diff options
Diffstat (limited to 'mem/phys.c')
-rw-r--r-- | mem/phys.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/mem/phys.c b/mem/phys.c deleted file mode 100644 index bf56b77..0000000 --- a/mem/phys.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "memory.h" -#include "zone.h" -#include "lib/jove.h" - -void -mem_phys_reserve(physptr_t start, physptr_t end) -{ - size_t zone = mem_zone_for(start); - size_t limit = mem_zone_bound_upper(zone); - - if(end > limit) { - mem_phys_reserve(limit, end); - end = limit; - } - mem_zone_resv(MEM_ZONE_STANDARD, start, end); -} - -void -mem_phys_release(physptr_t start, physptr_t end) -{ - size_t zone = mem_zone_for(start); - size_t limit = mem_zone_bound_upper(zone); - - if(end > limit) { - mem_phys_release(limit, end); - end = limit; - } - mem_zone_free(MEM_ZONE_STANDARD, start, end); -} - -physptr_t -mem_phys_alloc(size_t pages) -{ - if(mem_zone_pages_free(MEM_ZONE_HIGHER) >= pages) - return mem_zone_alloc(MEM_ZONE_HIGHER, pages); - if(mem_zone_pages_free(MEM_ZONE_STANDARD) >= pages) - return mem_zone_alloc(MEM_ZONE_STANDARD, pages); - kpanic("Kernel ran out of physical memory!\n"); -} |