#include <stddef.h>
Go to the source code of this file.
Enumerations | |
enum | palloc_flags { PAL_ASSERT = 0x1, PAL_ZERO = 0x2, PAL_USER = 0x4, PAL_NOCACHE = 0x8 } |
Functions | |
void | palloc_init (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) |
Variables | |
size_t | user_page_limit |
void * | zero_page |
enum palloc_flags |
void palloc_free_multiple | ( | void * | , | |
size_t | page_cnt | |||
) |
Definition at line 121 of file palloc.c.
References ASSERT, pool::base, bitmap_all(), bitmap_set_multiple(), memset(), NOT_REACHED, NULL, page_from_pool(), pg_no(), pg_ofs(), PGSIZE, pool::used_map, and user_pool.
Referenced by free(), and palloc_free_page().
void palloc_free_page | ( | void * | ) |
Definition at line 149 of file palloc.c.
References palloc_free_multiple().
Referenced by free(), fsutil_cat(), load_segment(), pagedir_destroy(), process_execute(), schedule_tail(), setup_stack(), start_process(), and uhci_destroy_info().
void* palloc_get_multiple | ( | enum | palloc_flags, | |
size_t | page_cnt | |||
) |
Definition at line 74 of file palloc.c.
References pool::base, BITMAP_ERROR, bitmap_scan_and_flip(), pool::lock, lock_acquire(), lock_release(), memset(), NULL, PAL_ASSERT, PAL_USER, PAL_ZERO, PANIC, PGSIZE, pool::used_map, and user_pool.
Referenced by malloc(), msc_attached(), and palloc_get_page().
void* palloc_get_page | ( | enum | palloc_flags | ) |
Definition at line 114 of file palloc.c.
References palloc_get_multiple().
Referenced by fsutil_cat(), load_segment(), lookup_page(), malloc(), pagedir_create(), paging_init(), pci_zone_init(), process_execute(), setup_stack(), thread_create(), tss_init(), and uhci_create_info().
void palloc_init | ( | void | ) |
Definition at line 49 of file palloc.c.
References init_pool(), PGSIZE, ptov(), ram_pages, user_page_limit, and user_pool.
Referenced by main().
void* zero_page |