core_mem.h

Go to the documentation of this file.
00001 /*
00002 ** core_mem.h for lseos in lseos-core/kernel/core
00003 ** 
00004 ** Copyright(c)2004 IONIS group, Vianney Rancurel - Paris
00005 ** Login   <vianney@epita.fr>
00006 ** 
00007 ** Started on  Fri May 28 14:21:32 2004 Vianney Rancurel
00008 ** Last update Mon Dec  6 11:25:25 2004 Vianney Rancurel
00009 */
00010 #ifndef __LSEOS_CORE_MEM_H__
00011 #define __LSEOS_CORE_MEM_H__    1
00012 #include <core.h>
00013 
00014 /* PROTO core_mem.c */
00015 #ifdef __KERNEL__
00016 /* core_mem.c */
00017 void mem_init(void);
00018 struct s_as_full *get_as(asid_t asid);
00019 void propagate(vaddr_t va, paddr_t pt);
00020 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);
00021 void __rec_free(t_rec *rec);
00022 void rec_free_multi(t_rec **recs, int nalloc);
00023 void rec_free_unused(t_rec **recs, int nunused);
00024 t_rec *rec_alloc(int *err);
00025 int rec_alloc_multi(t_rec **recs, int nalloc, int *err);
00026 int phys_set_coalesce(void *data1, void *data2);
00027 char *getrestypestr(int restype);
00028 void phys_set_print(void *data);
00029 void phys_set_copy(void *data_src, void *data_dst);
00030 int kern_set_coalesce(void *data1, void *data2);
00031 char *getktypestr(int nb);
00032 void kern_set_print(void *data);
00033 void kern_set_copy(void *data_src, void *data_dst);
00034 int user_set_coalesce(void *data1, void *data2);
00035 char *flags_to_str(u_int32_t fl);
00036 void user_set_print(void *data);
00037 void user_set_copy(void *data_src, void *data_dst);
00038 void user_set_xlate(void *data, signed int diff_pgs);
00039 t_area_set *get_pset_from_addr(paddr_t pa);
00040 void sys_prsv(struct s_tcb_full *caller);
00041 int is_vmapped(void *data, void *val);
00042 void sys_prele(struct s_tcb_full *caller);
00043 void sys_krsv(struct s_tcb_full *caller);
00044 void sys_krele(struct s_tcb_full *caller);
00045 void sys_vrsv(struct s_tcb_full *caller);
00046 void sys_vrele(struct s_tcb_full *caller);
00047 void sys_wire(struct s_tcb_full *caller);
00048 void sys_vmap(struct s_tcb_full *caller);
00049 void sys_vunmap(struct s_tcb_full *caller);
00050 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);
00051 void sys_pdef(struct s_tcb_full *caller);
00052 void sys_kdef(struct s_tcb_full *caller);
00053 void sys_vdef(struct s_tcb_full *caller);
00054 void sys_paggregate(struct s_tcb_full *caller);
00055 void sys_pshare(struct s_tcb_full *caller);
00056 void sys_pgive(struct s_tcb_full *caller);
00057 void sys_aggdef(struct s_tcb_full *caller);
00058 void sys_aspgdir(struct s_tcb_full *caller);
00059 int memdef_foreach(t_rec *rec, t_memdef_data *gd);
00060 void sys_memdef(struct s_tcb_full *caller);
00061 void uclean(vaddr_t pgdir);
00062 void sys_setasuid(struct s_tcb_full *caller);
00063 void sys_asreg(struct s_tcb_full *caller);
00064 void sys_lasprotect(struct s_tcb_full *caller);
00065 void sys_asunreg(struct s_tcb_full *caller);
00066 void sys_lasep(struct s_tcb_full *caller);
00067 void sys_sas(struct s_tcb_full *caller);
00068 void sys___sfullas(struct s_tcb_full *caller);
00069 int dump_match(t_rec *rec, asid_t *asid);
00070 int memdump_match(void *data, void *val);
00071 void memdump_i(asid_t asid, asid_t subasid);
00072 void as_dump(void);
00073 void sys_memdump(struct s_tcb_full *caller);
00074 void kpt_check(char *s);
00075 void pt_check(char *s);
00076 void blocklist_check(char *s);
00077 void freelist_check(char *s);
00078 int vmap_check_i(void *data, void *val);
00079 void vmap_check(char *s);
00080 void as_check(char *s);
00081 #endif /* __KERNEL__ */
00082 #endif

Generated on Wed May 24 23:04:16 2006 for LSE/OS by  doxygen 1.4.6