diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2003-01-27 19:37:31 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2003-01-27 19:37:31 +0000 |
commit | ef2d87c55d801373b544cc713af5f0fa49cefef8 (patch) | |
tree | d90dda73cbd46145775e038073f2a2e60e3ab819 /sys/arch/mvme68k | |
parent | b3580fc5182cb80597c244da47304d4df66549ba (diff) |
Convert m68k pmap from physseg to VM_PAGE_MD.
This allows us to remove some ambiguities on how some functions are called,
remove some diagnostic checks for conditions that can never happen and
remove the ugly hack with "pmap_initialized".
Then, rework internal function interfaces and some logic so as to stop
fetching vm_page from a pa and the reverse every now and then - this makes
some pmap operations run much faster.
per art@'s idea.
Diffstat (limited to 'sys/arch/mvme68k')
-rw-r--r-- | sys/arch/mvme68k/include/vmparam.h | 98 |
1 files changed, 2 insertions, 96 deletions
diff --git a/sys/arch/mvme68k/include/vmparam.h b/sys/arch/mvme68k/include/vmparam.h index 2ec1c7d96fe..4c7a1bbf41b 100644 --- a/sys/arch/mvme68k/include/vmparam.h +++ b/sys/arch/mvme68k/include/vmparam.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmparam.h,v 1.13 2002/02/17 22:59:53 maja Exp $ */ +/* $OpenBSD: vmparam.h,v 1.14 2003/01/27 19:37:30 miod Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -48,62 +48,8 @@ /* * Machine dependent constants for MVME68K */ -/* - * USRTEXT is the start of the user text/data space, while USRSTACK - * is the top (end) of the user stack. LOWPAGES and HIGHPAGES are - * the number of pages from the beginning of the P0 region to the - * beginning of the text and from the beginning of the P1 region to the - * beginning of the stack respectively. - * - * NOTE: the ONLY reason that HIGHPAGES is 0x100 instead of UPAGES (3) - * is for HPUX compatibility. Why?? Because HPUX's debuggers - * have the user's stack hard-wired at FFF00000 for post-mortems, - * and we must be compatible... - */ -#define USRTEXT 8192 /* Must equal __LDPGSZ */ -#define USRSTACK (-HIGHPAGES*NBPG) /* Start of user stack */ -#define LOWPAGES 0 -#define HIGHPAGES (0x100000/NBPG) - -/* - * Virtual memory related constants, all in bytes - */ -#ifndef MAXTSIZ -#define MAXTSIZ (8*1024*1024) /* max text size */ -#endif -#ifndef DFLDSIZ -#define DFLDSIZ (16*1024*1024) /* initial data size limit */ -#endif -#ifndef MAXDSIZ -#define MAXDSIZ (64*1024*1024) /* max data size */ -#endif -#ifndef DFLSSIZ -#define DFLSSIZ (512*1024) /* initial stack size limit */ -#endif -#ifndef MAXSSIZ -#define MAXSSIZ MAXDSIZ /* max stack size */ -#endif - -/* - * Sizes of the system and user portions of the system page table. - */ -#define USRPTSIZE (1 * NPTEPG) /* 4mb */ - -/* - * PTEs for mapping user space into the kernel for phyio operations. - * One page is enough to handle 4Mb of simultaneous raw IO operations. - */ -#ifndef USRIOSIZE -#define USRIOSIZE (1 * NPTEPG) /* 4mb */ -#endif -/* - * PTEs for system V style shared memory. - * This is basically slop for kmempt which we actually allocate (malloc) from. - */ -#ifndef SHMMAXPGS -#define SHMMAXPGS 1024 /* 4mb */ -#endif +#include <m68k/vmparam.h> /* * External IO space map size. @@ -113,50 +59,10 @@ #endif /* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#define MAXSLP 20 - -/* user/kernel map constants */ -#define VM_MIN_ADDRESS ((vm_offset_t)0) -#define VM_MAXUSER_ADDRESS ((vm_offset_t)0xFFF00000) -#define VM_MAX_ADDRESS ((vm_offset_t)0xFFF00000) -#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)0) -#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)0xFFFFF000) - -/* virtual sizes (bytes) for various kernel submaps */ -#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) - -/* # of kernel PT pages (initial only, can grow dynamically) */ -#define VM_KERNEL_PT_PAGES ((vm_size_t)2) - -/* pcb base */ -#define pcbb(p) ((u_int)(p)->p_addr) - -/* * Constants which control the way the VM system deals with memory segments. * The mvme68k only has one physical memory segment. */ #define VM_PHYSSEG_MAX 1 #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH -#define VM_PHYSSEG_NOADD - -#define VM_NFREELIST 1 -#define VM_FREELIST_DEFAULT 0 - -/* - * pmap-specific data stored in the vm_physmem[] array. - */ -#define __HAVE_PMAP_PHYSSEG -struct pmap_physseg { - struct pv_entry *pvent; /* pv table for this seg */ - char *attrs; /* page attributes for this seg */ -}; #endif /* _MVME68K_VMPARAM_H_ */ |