diff options
author | tegge <tegge@FreeBSD.org> | 1998-11-27 01:14:21 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1998-11-27 01:14:21 +0000 |
commit | 03c8e15ce9ae9d45f6e03a6f9f202f076ce39c5d (patch) | |
tree | c3c6b0b2a7c79e9755ef10d1e6698ebe610407ef /sys/amd64 | |
parent | 0e6b1a9b50acdada04dfbc36ec9aa2e556336029 (diff) | |
download | FreeBSD-src-03c8e15ce9ae9d45f6e03a6f9f202f076ce39c5d.zip FreeBSD-src-03c8e15ce9ae9d45f6e03a6f9f202f076ce39c5d.tar.gz |
Don't forget to update the pmap associated with aio daemons when adding
new page directory entries for a growing kernel virtual address space.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/pmap.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 7b684bd..87ffff7 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $Id: pmap.c,v 1.212 1998/11/08 02:26:14 msmith Exp $ + * $Id: pmap.c,v 1.213 1998/11/24 20:25:52 eivind Exp $ */ /* @@ -189,6 +189,9 @@ struct msgbuf *msgbufp=0; */ struct ppro_vmtrr PPro_vmtrr[NPPROVMTRR]; +/* AIO support */ +extern struct vmspace *aiovmspace; + #ifdef SMP extern char prv_CPAGE1[], prv_CPAGE2[], prv_CPAGE3[]; extern pt_entry_t *prv_CMAP1, *prv_CMAP2, *prv_CMAP3; @@ -1568,6 +1571,10 @@ pmap_growkernel(vm_offset_t addr) *pmap_pde(pmap, kernel_vm_end) = newpdir; } } + if (aiovmspace != NULL) { + pmap = &aiovmspace->vm_pmap; + *pmap_pde(pmap, kernel_vm_end) = newpdir; + } *pmap_pde(kernel_pmap, kernel_vm_end) = newpdir; kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); } |