summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_kern.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1995-12-11 04:58:34 +0000
committerdyson <dyson@FreeBSD.org>1995-12-11 04:58:34 +0000
commit601ed1a4c089930a40f8f1dedb927f3b5b9f2d90 (patch)
tree2b7bb6b5f65218fdc977df2e1db5ccaf89d154c6 /sys/vm/vm_kern.c
parent0e4700269e1c805f7d7e0caae28fbaebf096ac31 (diff)
downloadFreeBSD-src-601ed1a4c089930a40f8f1dedb927f3b5b9f2d90.zip
FreeBSD-src-601ed1a4c089930a40f8f1dedb927f3b5b9f2d90.tar.gz
Changes to support 1Tb filesizes. Pages are now named by an
(object,index) pair instead of (object,offset) pair.
Diffstat (limited to 'sys/vm/vm_kern.c')
-rw-r--r--sys/vm/vm_kern.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c
index fbc66a6..6b3b006 100644
--- a/sys/vm/vm_kern.c
+++ b/sys/vm/vm_kern.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_kern.c,v 1.18 1995/12/07 12:48:13 davidg Exp $
+ * $Id: vm_kern.c,v 1.19 1995/12/10 14:52:09 bde Exp $
*/
/*
@@ -181,7 +181,9 @@ kmem_alloc(map, size)
for (i = 0; i < size; i += PAGE_SIZE) {
vm_page_t mem;
- while ((mem = vm_page_alloc(kernel_object, offset + i, (VM_ALLOC_NORMAL|VM_ALLOC_ZERO))) == NULL) {
+ while ((mem = vm_page_alloc(kernel_object,
+ OFF_TO_IDX(offset + i),
+ (VM_ALLOC_NORMAL|VM_ALLOC_ZERO))) == NULL) {
VM_WAIT;
}
if ((mem->flags & PG_ZERO) == 0)
@@ -332,7 +334,7 @@ kmem_malloc(map, size, waitflag)
* pulling it off the active queue to prevent pageout.
*/
for (i = 0; i < size; i += PAGE_SIZE) {
- m = vm_page_alloc(kmem_object, offset + i,
+ m = vm_page_alloc(kmem_object, OFF_TO_IDX(offset + i),
(waitflag == M_NOWAIT) ? VM_ALLOC_INTERRUPT : VM_ALLOC_SYSTEM);
/*
@@ -343,7 +345,8 @@ kmem_malloc(map, size, waitflag)
if (m == NULL) {
while (i != 0) {
i -= PAGE_SIZE;
- m = vm_page_lookup(kmem_object, offset + i);
+ m = vm_page_lookup(kmem_object,
+ OFF_TO_IDX(offset + i));
vm_page_free(m);
}
vm_map_delete(map, addr, addr + size);
@@ -372,7 +375,7 @@ kmem_malloc(map, size, waitflag)
* splimp...)
*/
for (i = 0; i < size; i += PAGE_SIZE) {
- m = vm_page_lookup(kmem_object, offset + i);
+ m = vm_page_lookup(kmem_object, OFF_TO_IDX(offset + i));
pmap_kenter(addr + i, VM_PAGE_TO_PHYS(m));
}
vm_map_unlock(map);
OpenPOWER on IntegriCloud