summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_pager.c')
-rw-r--r--sys/vm/vm_pager.c76
1 files changed, 75 insertions, 1 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c
index 0f11408..2dc6e7b 100644
--- a/sys/vm/vm_pager.c
+++ b/sys/vm/vm_pager.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_pager.c,v 1.35 1998/02/23 08:22:40 dyson Exp $
+ * $Id: vm_pager.c,v 1.36 1998/03/07 21:37:21 dyson Exp $
*/
/*
@@ -90,11 +90,85 @@ extern struct pagerops swappagerops;
extern struct pagerops vnodepagerops;
extern struct pagerops devicepagerops;
+static int dead_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
+static vm_object_t dead_pager_alloc __P((void *, vm_size_t, vm_prot_t,
+ vm_ooffset_t));
+static int dead_pager_putpages __P((vm_object_t, vm_page_t *, int, int, int *));
+static boolean_t dead_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *));
+static void dead_pager_dealloc __P((vm_object_t));
+
+int
+dead_pager_getpages(obj, ma, count, req)
+ vm_object_t obj;
+ vm_page_t *ma;
+ int count;
+ int req;
+{
+ return VM_PAGER_FAIL;
+}
+
+vm_object_t
+dead_pager_alloc(handle, size, prot, off)
+ void *handle;
+ vm_size_t size;
+ vm_prot_t prot;
+ vm_ooffset_t off;
+{
+ return NULL;
+}
+
+int
+dead_pager_putpages(object, m, count, flags, rtvals)
+ vm_object_t object;
+ vm_page_t *m;
+ int count;
+ int flags;
+ int *rtvals;
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ rtvals[i] = VM_PAGER_AGAIN;
+ }
+ return VM_PAGER_AGAIN;
+}
+
+int
+dead_pager_haspage(object, pindex, prev, next)
+ vm_object_t object;
+ vm_pindex_t pindex;
+ int *prev;
+ int *next;
+{
+ if (prev)
+ *prev = 0;
+ if (next)
+ *next = 0;
+ return FALSE;
+}
+
+void
+dead_pager_dealloc(object)
+ vm_object_t object;
+{
+ return;
+}
+
+struct pagerops deadpagerops = {
+ NULL,
+ dead_pager_alloc,
+ dead_pager_dealloc,
+ dead_pager_getpages,
+ dead_pager_putpages,
+ dead_pager_haspage,
+ NULL
+};
+
static struct pagerops *pagertab[] = {
&defaultpagerops, /* OBJT_DEFAULT */
&swappagerops, /* OBJT_SWAP */
&vnodepagerops, /* OBJT_VNODE */
&devicepagerops, /* OBJT_DEVICE */
+ &deadpagerops /* OBJT_DEAD */
};
static int npagers = sizeof(pagertab) / sizeof(pagertab[0]);
OpenPOWER on IntegriCloud