#ifndef __KMALLOC_H__ #define __KMALLOC_H__ #include #include /* List member to keep track of free and unused regions in subpages. * Smallest unit it represents is one byte, but note that it is also * used for describing regions that span across multiple pages. */ struct subpage_area { struct list_head list; unsigned int vaddr; unsigned int size; unsigned int used; unsigned int head_of_pages; /* Means head of alloc_page() */ }; extern struct subpage_area subpage_area_start; /* Kmalloc initialisation */ void kmalloc_init(void); /* Kmalloc allocation functions */ void *kmalloc(int size); void *kzalloc(int size); int kfree(void *vaddr); #endif /* __KMALLOC_H__ */