diff options
author | dyson <dyson@FreeBSD.org> | 1995-12-11 04:58:34 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1995-12-11 04:58:34 +0000 |
commit | 601ed1a4c089930a40f8f1dedb927f3b5b9f2d90 (patch) | |
tree | 2b7bb6b5f65218fdc977df2e1db5ccaf89d154c6 /sys/vm/vm_kern.c | |
parent | 0e4700269e1c805f7d7e0caae28fbaebf096ac31 (diff) | |
download | FreeBSD-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.c | 13 |
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); |