#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 km_area { struct list_head list; unsigned long vaddr; unsigned long size; int used; int pg_alloc_pages; /* Means borrowed from alloc_page() */ }; extern struct list_head km_area_start; /* Kmalloc initialisation */ void kmalloc_init(void); /* Kmalloc allocation functions */ void *kmalloc(int size) __attribute__((weak)); void *kzalloc(int size) __attribute__((weak)); int kfree(void *vaddr) __attribute__((weak)); #endif /* __KMALLOC_H__ */