Properly account for non-page aligned buffers.

This commit is contained in:
David Greenman 1996-06-20 08:07:30 +00:00
parent ac269d78be
commit 1293685583
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=16532
2 changed files with 8 additions and 6 deletions

View file

@ -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);

View file

@ -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);