pgalloc.c File Reference

#include "libc.h"

Functions

vaddr_t pgalloc2 (asid_t asid, paddr_t fixed_pa, int nb_pgs, paddr_t *pa_returned)
vaddr_t pgalloc (asid_t asid, int nb_pgs)
int pgfree (asid_t asid, vaddr_t vpages, int nb_pgs)
int ppgalloc (asid_t asid, int nb_pgs, paddr_t *pa_returned, int *nb_pgs_returned)
int bigfree (t_pgset *set)
t_pgset * bigalloc (asid_t asid, int nb_pgs)
void bigdump (t_pgset *set)

Function Documentation

t_pgset* bigalloc (  asid_t  asid,
int  nb_pgs
) 
 

allocate a huge virtual zone composed of many small physical zones

void bigdump (  t_pgset *  set  ) 
 

debug

int bigfree (  t_pgset *  set  ) 
 

vaddr_t pgalloc (  asid_t  asid,
int  nb_pgs
) 
 

alloc phys pages + vpages and vmap them

vaddr_t pgalloc2 (  asid_t  asid,
paddr_t  fixed_pa,
int  nb_pgs,
paddr_t *  pa_returned
) 
 

same thing as pgalloc(3) excepted that it is possible to specify a fixed paddr and also retrieve physical addr choosem. pa_returned might be NULL.

int pgfree (  asid_t  asid,
vaddr_t  vpages,
int  nb_pgs
) 
 

int ppgalloc (  asid_t  asid,
int  nb_pgs,
paddr_t *  pa_returned,
int *  nb_pgs_returned
) 
 

try to alloc nb_pgs or less


Generated on Wed May 24 23:05:54 2006 for LSE/OS by  doxygen 1.4.6