Rewrite page allocator to support multi-page allocations.
[pintos-anon] / src / threads / palloc.h
1 #ifndef THREADS_PALLOC_H
2 #define THREADS_PALLOC_H
3
4 #include <stddef.h>
5
6 enum palloc_flags
7   {
8     PAL_ASSERT = 001,           /* Panic on failure. */
9     PAL_ZERO = 002,             /* Zero page contents. */
10     PAL_USER = 004              /* User page. */
11   };
12
13 void palloc_init (void);
14 void *palloc_get_page (enum palloc_flags);
15 void *palloc_get_multiple (enum palloc_flags, size_t page_cnt);
16 void palloc_free_page (void *);
17 void palloc_free_multiple (void *, size_t page_cnt);
18
19 #endif /* threads/palloc.h */