Physical memory init uses multiboot info
[akaros.git] / kern / include / kmalloc.h
index f97dd3d..c2774cf 100644 (file)
 #define KMALLOC_LARGEST KMALLOC_SMALLEST << NUM_KMALLOC_CACHES
 #define KMALLOC_OFFSET ROUNDUP(sizeof(struct kmalloc_tag), KMALLOC_ALIGNMENT)
 
-void* (DALLOC(n) boot_alloc)(uint32_t n, uint32_t align);
-void* (DALLOC(n*sz) boot_calloc)(uint32_t n, size_t sz, uint32_t align);
-
 void kmalloc_init(void);
 void* (DALLOC(size) kmalloc)(size_t size, int flags);
 void* (DALLOC(size) krealloc)(void* buf, size_t size, int flags);
 void  (DFREE(addr) kfree)(void *addr);
 
+/* Flags */
 #define KMALLOC_TAG_CACHE 1
 #define KMALLOC_TAG_PAGES 2
 
+#define KMALLOC_CANARY 0xdeadbabe
+
 struct kmalloc_tag {
        int flags;
+       uint32_t canary;
        union {
                struct kmem_cache *my_cache WHEN(flags == KMALLOC_TAG_CACHE);
                size_t num_pages WHEN(flags == KMALLOC_TAG_PAGES);