summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1996-06-20 08:07:30 +0000
committerdg <dg@FreeBSD.org>1996-06-20 08:07:30 +0000
commit10c0c08c642e7da26e332b742f3a9ea35cd79495 (patch)
tree84cd36f579a2b6134e9bd94adbfa5f7563b9ad20 /sys
parentecc3ffe7bb1bf3ff3209c3b1f35b9f3afb7f39a0 (diff)
downloadFreeBSD-src-10c0c08c642e7da26e332b742f3a9ea35cd79495.zip
FreeBSD-src-10c0c08c642e7da26e332b742f3a9ea35cd79495.tar.gz
Properly account for non-page aligned buffers.
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/vm_machdep.c7
-rw-r--r--sys/i386/i386/vm_machdep.c7
2 files changed, 8 insertions, 6 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 008f205..fef61cd 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -38,7 +38,7 @@
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
- * $Id: vm_machdep.c,v 1.64 1996/06/19 03:39:24 dyson Exp $
+ * $Id: vm_machdep.c,v 1.65 1996/06/20 01:47:21 davidg Exp $
*/
#include "npx.h"
@@ -691,7 +691,7 @@ vmapbuf(bp)
if ((bp->b_flags & B_PHYS) == 0)
panic("vmapbuf");
- for (v = bp->b_saveaddr, addr = bp->b_data;
+ for (v = bp->b_saveaddr, addr = (caddr_t)trunc_page(bp->b_data);
addr < bp->b_data + bp->b_bufsize;
addr += PAGE_SIZE, v += PAGE_SIZE) {
/*
@@ -726,7 +726,8 @@ vunmapbuf(bp)
if ((bp->b_flags & B_PHYS) == 0)
panic("vunmapbuf");
- for (addr = bp->b_data; addr < bp->b_data + bp->b_bufsize;
+ for (addr = (caddr_t)trunc_page(bp->b_data);
+ addr < bp->b_data + bp->b_bufsize;
addr += PAGE_SIZE) {
pa = trunc_page(pmap_kextract((vm_offset_t) addr));
pmap_kremove((vm_offset_t) addr);
diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c
index 008f205..fef61cd 100644
--- a/sys/i386/i386/vm_machdep.c
+++ b/sys/i386/i386/vm_machdep.c
@@ -38,7 +38,7 @@
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
- * $Id: vm_machdep.c,v 1.64 1996/06/19 03:39:24 dyson Exp $
+ * $Id: vm_machdep.c,v 1.65 1996/06/20 01:47:21 davidg Exp $
*/
#include "npx.h"
@@ -691,7 +691,7 @@ vmapbuf(bp)
if ((bp->b_flags & B_PHYS) == 0)
panic("vmapbuf");
- for (v = bp->b_saveaddr, addr = bp->b_data;
+ for (v = bp->b_saveaddr, addr = (caddr_t)trunc_page(bp->b_data);
addr < bp->b_data + bp->b_bufsize;
addr += PAGE_SIZE, v += PAGE_SIZE) {
/*
@@ -726,7 +726,8 @@ vunmapbuf(bp)
if ((bp->b_flags & B_PHYS) == 0)
panic("vunmapbuf");
- for (addr = bp->b_data; addr < bp->b_data + bp->b_bufsize;
+ for (addr = (caddr_t)trunc_page(bp->b_data);
+ addr < bp->b_data + bp->b_bufsize;
addr += PAGE_SIZE) {
pa = trunc_page(pmap_kextract((vm_offset_t) addr));
pmap_kremove((vm_offset_t) addr);
OpenPOWER on IntegriCloud