blob: 42019836e9093b65bfa90d8075bd31e7d93e0c3b (
plain) (
tree)
|
|
#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 <types.h>
#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
|