00001 #ifndef THREADS_PALLOC_H 00002 //3170695729535 00003 #define THREADS_PALLOC_H 00004 00005 #include <stddef.h> 00006 00007 /* How to allocate pages. */ 00008 enum palloc_flags 00009 { 00010 PAL_ASSERT = 0x1, /* Panic on failure. */ 00011 PAL_ZERO = 0x2, /* Zero page contents. */ 00012 PAL_USER = 0x4, /* User page. */ 00013 PAL_NOCACHE = 0x8 /* Disable memory caching for page. */ 00014 }; 00015 00016 /* Maximum number of pages to put in user pool. */ 00017 extern size_t user_page_limit; 00018 00019 extern void* zero_page; 00020 00021 void palloc_init (void); 00022 void *palloc_get_page (enum palloc_flags); 00023 void *palloc_get_multiple (enum palloc_flags, size_t page_cnt); 00024 void palloc_free_page (void *); 00025 void palloc_free_multiple (void *, size_t page_cnt); 00026 00027 #endif /* threads/palloc.h */