summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1998-11-27 01:14:21 +0000
committertegge <tegge@FreeBSD.org>1998-11-27 01:14:21 +0000
commit03c8e15ce9ae9d45f6e03a6f9f202f076ce39c5d (patch)
treec3c6b0b2a7c79e9755ef10d1e6698ebe610407ef /sys/amd64
parent0e6b1a9b50acdada04dfbc36ec9aa2e556336029 (diff)
downloadFreeBSD-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.c9
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);
}
OpenPOWER on IntegriCloud