Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/bouyer-xen2]: src/sys/arch/xen/i386 With help from YAMAMOTO Takashi, get...
details: https://anonhg.NetBSD.org/src/rev/163db3c0ca31
branches: bouyer-xen2
changeset: 571875:163db3c0ca31
user: bouyer <bouyer%NetBSD.org@localhost>
date: Wed Jan 19 17:33:37 2005 +0000
description:
With help from YAMAMOTO Takashi, get the XEN0 kernel multiuser again:
In pmap_pdp_dtor(), make the page writable again, now that it's no longer
a PDP page.
yamt says that we should use pmap_kenter_pa here, but I'm not sure if I
have to call pmap_remove() first, so for now this his #ifdef'd out.
diffstat:
sys/arch/xen/i386/pmap.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diffs (42 lines):
diff -r af5264ed17b2 -r 163db3c0ca31 sys/arch/xen/i386/pmap.c
--- a/sys/arch/xen/i386/pmap.c Wed Jan 19 10:24:22 2005 +0000
+++ b/sys/arch/xen/i386/pmap.c Wed Jan 19 17:33:37 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.6.6.4 2005/01/19 10:22:45 bouyer Exp $ */
+/* $NetBSD: pmap.c,v 1.6.6.5 2005/01/19 17:33:37 bouyer Exp $ */
/* NetBSD: pmap.c,v 1.179 2004/10/10 09:55:24 yamt Exp */
/*
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.6.6.4 2005/01/19 10:22:45 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.6.6.5 2005/01/19 17:33:37 bouyer Exp $");
#include "opt_cputype.h"
#include "opt_user_ldt.h"
@@ -1922,6 +1922,9 @@
pmap_enter(pmap_kernel(), (vaddr_t)pdir, pdirpa, VM_PROT_READ,
VM_PROT_READ);
+#if 0
+ pmap_kenter_pa((vaddr_t)pdir, pdirpa, VM_PROT_READ);
+#endif
pmap_update(pmap_kernel());
/* pin page type */
@@ -1945,6 +1948,13 @@
/* unpin page type */
xpq_queue_unpin_table(xpmap_ptom(pdirpa));
xpq_flush_queue();
+ pmap_enter(pmap_kernel(), (vaddr_t)pdir, pdirpa,
+ VM_PROT_READ | VM_PROT_WRITE, VM_PROT_READ | VM_PROT_WRITE);
+#if 0
+ pmap_kremove((vaddr_t)pdir, PAGE_SIZE)
+ pmap_kenter_pa((vaddr_t)pdir, pdirpa, VM_PROT_READ | VM_PROT_WRITE);
+#endif
+ pmap_update(pmap_kernel());
}
/*
Home |
Main Index |
Thread Index |
Old Index