blob: b6e9622490202a69ac18825b7cc5509603c5c21e (
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>
void* kmalloc_page(size_t *phys);
void kfree_page(void* page);
// Internal, used by dlmalloc
void* ksbrk(size_t size);
void kbrk(void* ptr);
#define kmalloc dlmalloc
#define kfree dlfree
void kheap_init();
extern int _no_more_ksbrk;
extern size_t mem_placementAddr;
extern void end; //Symbol defined by linker : end of kernel code
extern void 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
|