mirror of
https://github.com/drasko/codezero.git
synced 2026-01-24 16:53:14 +01:00
Initial commit
This commit is contained in:
31
tasks/libmem/kmalloc/kmalloc.h
Normal file
31
tasks/libmem/kmalloc/kmalloc.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef __KMALLOC_H__
|
||||
#define __KMALLOC_H__
|
||||
|
||||
#include <mm/alloc_page.h>
|
||||
#include <l4/lib/list.h>
|
||||
|
||||
/*
|
||||
* 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);
|
||||
void *kzalloc(int size);
|
||||
int kfree(void *vaddr);
|
||||
|
||||
#endif /* __KMALLOC_H__ */
|
||||
|
||||
Reference in New Issue
Block a user