summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/include/vmparam.h
diff options
context:
space:
mode:
authorSteve Murphree <smurph@cvs.openbsd.org>2001-01-12 07:29:28 +0000
committerSteve Murphree <smurph@cvs.openbsd.org>2001-01-12 07:29:28 +0000
commit0764426082e0e2480c3365cf453b99287858662c (patch)
treebaac8a0d30bf0e8e7e9674104178fc580472e62b /sys/arch/mvme88k/include/vmparam.h
parent36a7fbd69a94ac66a8f93f5d4471c4213500a12c (diff)
Update vm interface to MACHIN_NEW_NONCONTIG. Fix compile warning in pcctwo.c
Diffstat (limited to 'sys/arch/mvme88k/include/vmparam.h')
-rw-r--r--sys/arch/mvme88k/include/vmparam.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/sys/arch/mvme88k/include/vmparam.h b/sys/arch/mvme88k/include/vmparam.h
index 8823aaa8a62..1e10d3be943 100644
--- a/sys/arch/mvme88k/include/vmparam.h
+++ b/sys/arch/mvme88k/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.6 1999/09/27 20:46:19 smurph Exp $ */
+/* $OpenBSD: vmparam.h,v 1.7 2001/01/12 07:29:27 smurph Exp $ */
/*
* Mach Operating System
* Copyright (c) 1992 Carnegie Mellon University
@@ -68,6 +68,14 @@
#endif
/*
+ * 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
+
+/*
* External IO space map size.
*/
#ifndef EIOMAPSIZE
@@ -168,6 +176,7 @@
/* virtual sizes (bytes) for various kernel submaps */
#define VM_MBUF_SIZE (NMBCLUSTERS*MCLBYTES)
#define VM_KMEM_SIZE (NKMEMCLUSTERS*CLBYTES)
+#define VM_PHYS_SIZE (USRIOSIZE*CLBYTES)
/*
* Conversion between MACHINE pages and VM pages
@@ -177,6 +186,32 @@
#define round_m88k_to_vm(p) (atop(round_page(m88k_ptob(p))))
#define vm_to_m88k(p) (m88k_btop(ptoa(p)))
+/* 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
+
+#define VM_NFREELIST 1
+#define VM_FREELIST_DEFAULT 0
+
+/*
+ * pmap-specific data stored in the vm_physmem[] array.
+ */
+struct pmap_physseg {
+ struct pv_entry *pvent; /* pv table for this seg */
+ char *attrs; /* page modify list for this seg */
+ struct simplelock *plock; /* page lock for this seg */
+};
+#endif /* MACHINE_NEW_NONCONTIG */
+
+
#if 1 /*Do we really need all this stuff*/
#if 1 /*Do we really need all this stuff*/
#if 1 /*Do we really need all this stuff*/