core_mem.c File Reference

#include "core.h"

Defines

#define SYS1_START   0xd0000000
#define NB_REC_PP   (PAGESIZE - sizeof (t_block)) / sizeof (t_rec)
#define FLCAT(Fl, Str)

Functions

void mem_init ()
s_as_full * get_as (asid_t asid)
void propagate (vaddr_t va, paddr_t pt)
void do_pg_map (paddr_t pgdir, vaddr_t va, paddr_t pa, u_int32_t flags, paddr_t pt_pa, int *use_pt, int test_only)
void __rec_free (t_rec *rec)
void rec_free_multi (t_rec **recs, int nalloc)
void rec_free_unused (t_rec **recs, int nunused)
t_recrec_alloc (int *err)
int rec_alloc_multi (t_rec **recs, int nalloc, int *err)
int phys_set_coalesce (void *data1, void *data2)
char * getrestypestr (int restype)
void phys_set_print (void *data)
void phys_set_copy (void *data_src, void *data_dst)
int kern_set_coalesce (void *data1, void *data2)
char * getktypestr (int nb)
void kern_set_print (void *data)
void kern_set_copy (void *data_src, void *data_dst)
int user_set_coalesce (void *data1, void *data2)
char * flags_to_str (u_int32_t fl)
void user_set_print (void *data)
void user_set_copy (void *data_src, void *data_dst)
void user_set_xlate (void *data, signed int diff_pgs)
t_area_setget_pset_from_addr (paddr_t pa)
void sys_prsv (struct s_tcb_full *caller)
int is_vmapped (void *data, void *val)
void sys_prele (struct s_tcb_full *caller)
void sys_krsv (struct s_tcb_full *caller)
void sys_krele (struct s_tcb_full *caller)
void sys_vrsv (struct s_tcb_full *caller)
void sys_vrele (struct s_tcb_full *caller)
void sys_wire (struct s_tcb_full *caller)
void sys_vmap (struct s_tcb_full *caller)
void sys_vunmap (struct s_tcb_full *caller)
paddr_t vdef_i (struct s_as_full *as, vaddr_t va, int nb_pgs, u_int32_t *flags, vaddr_t *agg_va, u_int32_t *err)
void sys_pdef (struct s_tcb_full *caller)
void sys_kdef (struct s_tcb_full *caller)
void sys_vdef (struct s_tcb_full *caller)
void sys_paggregate (struct s_tcb_full *caller)
void sys_pshare (struct s_tcb_full *caller)
void sys_pgive (struct s_tcb_full *caller)
void sys_aggdef (struct s_tcb_full *caller)
void sys_aspgdir (struct s_tcb_full *caller)
int memdef_foreach (t_rec *rec, t_memdef_data *gd)
void sys_memdef (struct s_tcb_full *caller)
void uclean (vaddr_t pgdir)
void sys_setasuid (struct s_tcb_full *caller)
void sys_asreg (struct s_tcb_full *caller)
void sys_lasprotect (struct s_tcb_full *caller)
void sys_asunreg (struct s_tcb_full *caller)
void sys_lasep (struct s_tcb_full *caller)
void sys_sas (struct s_tcb_full *caller)
void sys___sfullas (struct s_tcb_full *caller)
int dump_match (t_rec *rec, asid_t *asid)
int memdump_match (void *data, void *val)
void memdump_i (asid_t asid, asid_t subasid)
void as_dump ()
void sys_memdump (struct s_tcb_full *caller)
void kpt_check (char *s)
void pt_check (char *s)
void blocklist_check (char *s)
void freelist_check (char *s)
int vmap_check_i (void *data, void *val)
void vmap_check (char *s)
void as_check (char *s)

Variables

vaddr_t vpt2
vaddr_t vstart
vaddr_t core_vpage1
vaddr_t core_vpage2
vaddr_t copy_vpage1
paddr_t ppt2
paddr_t pfirst
paddr_t pstart
paddr_t pend
paddr_t core_ppage
paddr_t core_blankpgdir
s_idt idt [MAX_CPUS]
s_tcb_list procs
s_tcb_full * coresrv
t_corestats corestats [MAX_CPUS]
s_as_list ass [ASID_HSIZE]
asid_t next_asid = 1LL
t_blockblocklist = NULL
t_rec_list rec_freelist
t_area_set sys0_set
t_area_set phys_set
t_area_set sys1_set
t_area_set kern_set
paddr_t sys0_end
char * ktypestrs []
int nb_ktypestrs = ARRAY_COUNT(ktypestrs)

Define Documentation

#define FLCAT Fl,
Str   ) 
 

Value:

if (fl & (Fl)) \
                        strcat(buf, (Str));

#define NB_REC_PP   (PAGESIZE - sizeof (t_block)) / sizeof (t_rec)
 

#define SYS1_START   0xd0000000
 


Function Documentation

void __rec_free t_rec rec  ) 
 

void as_check char *  s  ) 
 

void as_dump  ) 
 

void blocklist_check char *  s  ) 
 

void do_pg_map paddr_t  pgdir,
vaddr_t  va,
paddr_t  pa,
u_int32_t  flags,
paddr_t  pt_pa,
int *  use_pt,
int  test_only
 

int dump_match t_rec rec,
asid_t asid
 

char* flags_to_str u_int32_t  fl  ) 
 

void freelist_check char *  s  ) 
 

struct s_as_full* get_as asid_t  asid  ) 
 

t_area_set* get_pset_from_addr paddr_t  pa  ) 
 

char* getktypestr int  nb  ) 
 

char* getrestypestr int  restype  ) 
 

int is_vmapped void *  data,
void *  val
 

make area_set_foreach stopping and returning 1 if phys addr is mapped in virtual address space pointed by area_set

int kern_set_coalesce void *  data1,
void *  data2
 

void kern_set_copy void *  data_src,
void *  data_dst
 

void kern_set_print void *  data  ) 
 

void kpt_check char *  s  ) 
 

void mem_init  ) 
 

int memdef_foreach t_rec rec,
t_memdef_data *  gd
 

void memdump_i asid_t  asid,
asid_t  subasid
 

int memdump_match void *  data,
void *  val
 

int phys_set_coalesce void *  data1,
void *  data2
 

void phys_set_copy void *  data_src,
void *  data_dst
 

void phys_set_print void *  data  ) 
 

void propagate vaddr_t  va,
paddr_t  pt
 

void pt_check char *  s  ) 
 

t_rec* rec_alloc int *  err  ) 
 

int rec_alloc_multi t_rec **  recs,
int  nalloc,
int *  err
 

void rec_free_multi t_rec **  recs,
int  nalloc
 

void rec_free_unused t_rec **  recs,
int  nunused
 

void sys___sfullas struct s_tcb_full *  caller  ) 
 

void sys_aggdef struct s_tcb_full *  caller  ) 
 

void sys_aspgdir struct s_tcb_full *  caller  ) 
 

void sys_asreg struct s_tcb_full *  caller  ) 
 

void sys_asunreg struct s_tcb_full *  caller  ) 
 

void sys_kdef struct s_tcb_full *  caller  ) 
 

void sys_krele struct s_tcb_full *  caller  ) 
 

void sys_krsv struct s_tcb_full *  caller  ) 
 

void sys_lasep struct s_tcb_full *  caller  ) 
 

void sys_lasprotect struct s_tcb_full *  caller  ) 
 

void sys_memdef struct s_tcb_full *  caller  ) 
 

void sys_memdump struct s_tcb_full *  caller  ) 
 

void sys_paggregate struct s_tcb_full *  caller  ) 
 

void sys_pdef struct s_tcb_full *  caller  ) 
 

void sys_pgive struct s_tcb_full *  caller  ) 
 

void sys_prele struct s_tcb_full *  caller  ) 
 

void sys_prsv struct s_tcb_full *  caller  ) 
 

void sys_pshare struct s_tcb_full *  caller  ) 
 

void sys_sas struct s_tcb_full *  caller  ) 
 

void sys_setasuid struct s_tcb_full *  caller  ) 
 

void sys_vdef struct s_tcb_full *  caller  ) 
 

void sys_vmap struct s_tcb_full *  caller  ) 
 

void sys_vrele struct s_tcb_full *  caller  ) 
 

void sys_vrsv struct s_tcb_full *  caller  ) 
 

void sys_vunmap struct s_tcb_full *  caller  ) 
 

void sys_wire struct s_tcb_full *  caller  ) 
 

void uclean vaddr_t  pgdir  ) 
 

int user_set_coalesce void *  data1,
void *  data2
 

void user_set_copy void *  data_src,
void *  data_dst
 

void user_set_print void *  data  ) 
 

void user_set_xlate void *  data,
signed int  diff_pgs
 

paddr_t vdef_i struct s_as_full *  as,
vaddr_t  va,
int  nb_pgs,
u_int32_t flags,
vaddr_t agg_va,
u_int32_t err
 

void vmap_check char *  s  ) 
 

int vmap_check_i void *  data,
void *  val
 


Variable Documentation

struct s_as_list ass[ASID_HSIZE]
 

t_block* blocklist = NULL
 

vaddr_t copy_vpage1
 

paddr_t core_blankpgdir
 

paddr_t core_ppage
 

vaddr_t core_vpage1
 

vaddr_t core_vpage2
 

struct s_tcb_full* coresrv
 

t_corestats corestats[MAX_CPUS]
 

struct s_idt idt[MAX_CPUS]
 

t_area_set kern_set
 

char* ktypestrs[]
 

Initial value:

  {
    "undef",                   
    "rec",                     
    "aspace",                  
    "tcb",                     
    "mem",                      
  }

int nb_ktypestrs = ARRAY_COUNT(ktypestrs)
 

asid_t next_asid = 1LL
 

paddr_t pend
 

paddr_t pfirst
 

t_area_set phys_set
 

paddr_t ppt2
 

struct s_tcb_list procs
 

paddr_t pstart
 

t_rec_list rec_freelist
 

paddr_t sys0_end
 

t_area_set sys0_set
 

t_area_set sys1_set
 

vaddr_t vpt2
 

vaddr_t vstart
 


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