#ifndef DEF_MEM_H #define DEF_MEM_H /* mem.c provides the kernel's allocation and freeing functions. kmalloc_page and kfree_page are used mostly for paging. */ #include #include "_dlmalloc.h" void* kmalloc_page(size_t *phys); void kfree_page(void* page); // Internal, used by dlmalloc extern "C" void* ksbrk(size_t size); extern "C" void kbrk(void* ptr); #define kmalloc malloc #define kfree free extern bool _no_more_ksbrk; extern size_t mem_placementAddr; extern "C" size_t end; //Symbol defined by linker : end of kernel code extern "C" size_t k_highhalf_addr; // Symbol defined by linker : high half position of the kerne // Should be at 0xC0000000 #define K_HIGHHALF_ADDR ((size_t)(&k_highhalf_addr)) #endif