pintos/src/threads/palloc.c File Reference

#include "threads/palloc.h"
#include <bitmap.h>
#include <debug.h>
#include <inttypes.h>
#include <round.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "threads/loader.h"
#include "threads/synch.h"
#include "threads/vaddr.h"

Go to the source code of this file.

Data Structures

struct  pool

Functions

static void init_pool (struct pool *, void *base, size_t page_cnt, const char *name)
static bool page_from_pool (const struct pool *, void *page)
void palloc_init (void)
void * palloc_get_multiple (enum palloc_flags flags, size_t page_cnt)
void * palloc_get_page (enum palloc_flags flags)
void palloc_free_multiple (void *pages, size_t page_cnt)
void palloc_free_page (void *page)

Variables

struct pool kernel_pool user_pool
size_t user_page_limit = SIZE_MAX


Function Documentation

static void init_pool ( struct pool p,
void *  base,
size_t  page_cnt,
const char *  name 
) [static]

static bool page_from_pool ( const struct pool pool,
void *  page 
) [static]

Definition at line 178 of file palloc.c.

References pool::base, bitmap_size(), pg_no(), and pool::used_map.

Referenced by palloc_free_multiple().

void palloc_free_multiple ( void *  pages,
size_t  page_cnt 
)

void palloc_free_page ( void *  page  ) 

void* palloc_get_multiple ( enum palloc_flags  flags,
size_t  page_cnt 
)

void* palloc_get_page ( enum palloc_flags  flags  ) 

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().


Variable Documentation

size_t user_page_limit = SIZE_MAX

Definition at line 41 of file palloc.c.

Referenced by palloc_init(), and parse_options().

struct pool kernel_pool user_pool

Definition at line 38 of file palloc.c.

Referenced by palloc_free_multiple(), palloc_get_multiple(), and palloc_init().


Generated on Mon Jan 10 16:43:58 2011 for Pintos by  doxygen 1.5.6