X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Fpalloc.h;h=ba6aa741a954baf17e34cadc6a769974ca233dab;hb=63b811f31e550794fbbcaa75ea51b41023178f28;hp=ca7824e58c7c9282eda82f14b5b6a0cae6507561;hpb=6916b246f3be8c72d6e77fd98c4a1447fd2c1de7;p=pintos-anon diff --git a/src/threads/palloc.h b/src/threads/palloc.h index ca7824e..ba6aa74 100644 --- a/src/threads/palloc.h +++ b/src/threads/palloc.h @@ -1,16 +1,22 @@ #ifndef THREADS_PALLOC_H #define THREADS_PALLOC_H -#include +#include enum palloc_flags { PAL_ASSERT = 001, /* Panic on failure. */ - PAL_ZERO = 002 /* Zero page contents. */ + PAL_ZERO = 002, /* Zero page contents. */ + PAL_USER = 004 /* User page. */ }; +/* Maximum number of pages to put in user pool. */ +extern size_t user_page_limit; + void palloc_init (void); -void *palloc_get (enum palloc_flags); -void palloc_free (void *); +void *palloc_get_page (enum palloc_flags); +void *palloc_get_multiple (enum palloc_flags, size_t page_cnt); +void palloc_free_page (void *); +void palloc_free_multiple (void *, size_t page_cnt); #endif /* threads/palloc.h */