diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-03-01 00:38:26 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-03-01 00:38:26 +0000 |
commit | b92b419a6a8ef401c8a4e022115bf3e18426eea0 (patch) | |
tree | ff214e6b334202d15c2b303427a2a5d2f16af4f0 /sys/arch/mvme68k/include/vmparam.h | |
parent | 4f215f167e35940141001f7f31bfce350266d153 (diff) |
Merge of MACHINE_NEW_CONTIG (aka MNN) code from Chuck Cranor,
<chuck@openbsd.org>. This code is as of yet disabled on all platforms,
actually not yet supported on more than mvme68k, although other
platforms are expected soon, as code is already available.
This code makes handling of multiple physical memory regions
consistent over all platforms, as well as keeping the performance of
maintaining a single continuous memory chunk. It is also a
requirement for the upcoming UVM replacement VM system.
What I did in this merge: just declared the pmap_map function in a
MD include file per port that needs it. It's not an exported pmap
interface, says Chuck. It ended up in differnt include files on
differnet ports, as I tried to follow the current policy on a per-arch
basis.
Diffstat (limited to 'sys/arch/mvme68k/include/vmparam.h')
-rw-r--r-- | sys/arch/mvme68k/include/vmparam.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/sys/arch/mvme68k/include/vmparam.h b/sys/arch/mvme68k/include/vmparam.h index 82ca7b4d107..c921a36633d 100644 --- a/sys/arch/mvme68k/include/vmparam.h +++ b/sys/arch/mvme68k/include/vmparam.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmparam.h,v 1.3 1996/04/28 10:56:37 deraadt Exp $ */ +/* $OpenBSD: vmparam.h,v 1.4 1998/03/01 00:37:39 niklas Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -42,6 +42,9 @@ * @(#)vmparam.h 8.2 (Berkeley) 4/19/94 */ +#ifndef _MVME68K_VMPARAM_H_ +#define _MVME68K_VMPARAM_H_ + /* * Machine dependent constants for MVME68K */ @@ -244,3 +247,26 @@ /* pcb base */ #define pcbb(p) ((u_int)(p)->p_addr) + +/* Use new VM page bootstrap interface. */ +#define MACHINE_NEW_NONCONTIG + +#if defined(MACHINE_NEW_NONCONTIG) +/* + * Constants which control the way the VM system deals with memory segments. + * The hp300 only has one physical memory segment. + */ +#define VM_PHYSSEG_MAX 1 +#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH +#define VM_PHYSSEG_NOADD + +/* + * pmap-specific data stored in the vm_physmem[] array. + */ +struct pmap_physseg { + struct pv_entry *pvent; /* pv table for this seg */ + char *attrs; /* page attributes for this seg */ +}; +#endif /* MACHINE_NEW_NONCONTIG */ + +#endif /* _MVME68K_VMPARAM_H_ */ |