All local system calls are asynchronous (XCC)
[akaros.git] / kern / include / kmalloc.h
index f97dd3d..3437be4 100644 (file)
@@ -24,15 +24,19 @@ 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;
        union {
                struct kmem_cache *my_cache WHEN(flags == KMALLOC_TAG_CACHE);
                size_t num_pages WHEN(flags == KMALLOC_TAG_PAGES);
        };
+       uint32_t canary;
 };
 
 #endif //ROS_KERN_KMALLOC_H