Deleted Added
full compact
vm_pager.c (34206) vm_pager.c (34611)
1/*
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * The Mach Operating System project at Carnegie-Mellon University.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 47 unchanged lines hidden (view full) ---

56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
57 * School of Computer Science
58 * Carnegie Mellon University
59 * Pittsburgh PA 15213-3890
60 *
61 * any improvements or extensions that they make and grant Carnegie the
62 * rights to redistribute these changes.
63 *
1/*
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * The Mach Operating System project at Carnegie-Mellon University.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 47 unchanged lines hidden (view full) ---

56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
57 * School of Computer Science
58 * Carnegie Mellon University
59 * Pittsburgh PA 15213-3890
60 *
61 * any improvements or extensions that they make and grant Carnegie the
62 * rights to redistribute these changes.
63 *
64 * $Id: vm_pager.c,v 1.35 1998/02/23 08:22:40 dyson Exp $
64 * $Id: vm_pager.c,v 1.36 1998/03/07 21:37:21 dyson Exp $
65 */
66
67/*
68 * Paging space routine stubs. Emulates a matchmaker-like interface
69 * for builtin pagers.
70 */
71
72#include <sys/param.h>

--- 12 unchanged lines hidden (view full) ---

85
86MALLOC_DEFINE(M_VMPGDATA, "VM pgdata", "XXX: VM pager private data");
87
88extern struct pagerops defaultpagerops;
89extern struct pagerops swappagerops;
90extern struct pagerops vnodepagerops;
91extern struct pagerops devicepagerops;
92
65 */
66
67/*
68 * Paging space routine stubs. Emulates a matchmaker-like interface
69 * for builtin pagers.
70 */
71
72#include <sys/param.h>

--- 12 unchanged lines hidden (view full) ---

85
86MALLOC_DEFINE(M_VMPGDATA, "VM pgdata", "XXX: VM pager private data");
87
88extern struct pagerops defaultpagerops;
89extern struct pagerops swappagerops;
90extern struct pagerops vnodepagerops;
91extern struct pagerops devicepagerops;
92
93static int dead_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
94static vm_object_t dead_pager_alloc __P((void *, vm_size_t, vm_prot_t,
95 vm_ooffset_t));
96static int dead_pager_putpages __P((vm_object_t, vm_page_t *, int, int, int *));
97static boolean_t dead_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *));
98static void dead_pager_dealloc __P((vm_object_t));
99
100int
101dead_pager_getpages(obj, ma, count, req)
102 vm_object_t obj;
103 vm_page_t *ma;
104 int count;
105 int req;
106{
107 return VM_PAGER_FAIL;
108}
109
110vm_object_t
111dead_pager_alloc(handle, size, prot, off)
112 void *handle;
113 vm_size_t size;
114 vm_prot_t prot;
115 vm_ooffset_t off;
116{
117 return NULL;
118}
119
120int
121dead_pager_putpages(object, m, count, flags, rtvals)
122 vm_object_t object;
123 vm_page_t *m;
124 int count;
125 int flags;
126 int *rtvals;
127{
128 int i;
129 for (i = 0; i < count; i++) {
130 rtvals[i] = VM_PAGER_AGAIN;
131 }
132 return VM_PAGER_AGAIN;
133}
134
135int
136dead_pager_haspage(object, pindex, prev, next)
137 vm_object_t object;
138 vm_pindex_t pindex;
139 int *prev;
140 int *next;
141{
142 if (prev)
143 *prev = 0;
144 if (next)
145 *next = 0;
146 return FALSE;
147}
148
149void
150dead_pager_dealloc(object)
151 vm_object_t object;
152{
153 return;
154}
155
156struct pagerops deadpagerops = {
157 NULL,
158 dead_pager_alloc,
159 dead_pager_dealloc,
160 dead_pager_getpages,
161 dead_pager_putpages,
162 dead_pager_haspage,
163 NULL
164};
165
93static struct pagerops *pagertab[] = {
94 &defaultpagerops, /* OBJT_DEFAULT */
95 &swappagerops, /* OBJT_SWAP */
96 &vnodepagerops, /* OBJT_VNODE */
97 &devicepagerops, /* OBJT_DEVICE */
166static struct pagerops *pagertab[] = {
167 &defaultpagerops, /* OBJT_DEFAULT */
168 &swappagerops, /* OBJT_SWAP */
169 &vnodepagerops, /* OBJT_VNODE */
170 &devicepagerops, /* OBJT_DEVICE */
171 &deadpagerops /* OBJT_DEAD */
98};
99static int npagers = sizeof(pagertab) / sizeof(pagertab[0]);
100
101/*
102 * Kernel address space for mapping pages.
103 * Used by pagers where KVAs are needed for IO.
104 *
105 * XXX needs to be large enough to support the number of pending async

--- 239 unchanged lines hidden ---
172};
173static int npagers = sizeof(pagertab) / sizeof(pagertab[0]);
174
175/*
176 * Kernel address space for mapping pages.
177 * Used by pagers where KVAs are needed for IO.
178 *
179 * XXX needs to be large enough to support the number of pending async

--- 239 unchanged lines hidden ---