d343041caa
Introduce explicit abstractions for different mapping types, handling the instantiation, forking, pagefaults and freeing of anonymous memory, direct physical mappings, shared memory and physically contiguous anonymous memory as separate types, making region.c more generic. Also some other genericification like merging the 3 munmap cases into one. COW and SMAP safemap code is still implicit in region.c.
38 lines
812 B
C
38 lines
812 B
C
|
|
#include <minix/sys_config.h>
|
|
#include <minix/type.h>
|
|
#include <minix/param.h>
|
|
#include <sys/stat.h>
|
|
#include <a.out.h>
|
|
|
|
#include "vm.h"
|
|
#include "vmproc.h"
|
|
|
|
#if _MAIN
|
|
#undef EXTERN
|
|
#define EXTERN
|
|
#endif
|
|
|
|
#define VMP_EXECTMP _NR_PROCS
|
|
#define VMP_NR _NR_PROCS+1
|
|
|
|
EXTERN struct vmproc vmproc[VMP_NR];
|
|
|
|
EXTERN kinfo_t kernel_boot_info;
|
|
|
|
#if SANITYCHECKS
|
|
EXTERN int nocheck;
|
|
EXTERN int incheck;
|
|
EXTERN long vm_sanitychecklevel;
|
|
EXTERN int sc_lastline;
|
|
EXTERN char *sc_lastfile;
|
|
#endif
|
|
|
|
/* mem types */
|
|
EXTERN mem_type_t mem_type_anon, /* anonymous memory */
|
|
mem_type_directphys, /* direct physical mapping memory */
|
|
mem_type_anon_contig, /* physically contig anon memory */
|
|
mem_type_shared; /* memory shared by multiple processes */
|
|
|
|
/* total number of memory pages */
|
|
EXTERN int total_pages;
|