Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-4]: src/sys/arch/i386/i386 Apply patch (based on rev 1.85 of pm...
details: https://anonhg.NetBSD.org/src/rev/7761cdc18f3f
branches: netbsd-1-4
changeset: 470502:7761cdc18f3f
user: he <he%NetBSD.org@localhost>
date: Wed Apr 26 22:14:10 2000 +0000
description:
Apply patch (based on rev 1.85 of pmap.c, requested by thorpej):
Use a more reliable method to determine if uvm_page_init() has
completed. This fixes a problem observed on some i386 configs
(typically with lots of memory) where the kernel page table needs
to grow during initialization.
diffstat:
sys/arch/i386/i386/pmap.new.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diffs (31 lines):
diff -r e90731f8f6d4 -r 7761cdc18f3f sys/arch/i386/i386/pmap.new.c
--- a/sys/arch/i386/i386/pmap.new.c Wed Apr 26 22:13:24 2000 +0000
+++ b/sys/arch/i386/i386/pmap.new.c Wed Apr 26 22:14:10 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.new.c,v 1.23.2.4 1999/12/20 13:31:41 he Exp $ */
+/* $NetBSD: pmap.new.c,v 1.23.2.5 2000/04/26 22:14:10 he Exp $ */
/*
*
@@ -3558,7 +3558,7 @@
for (/*null*/ ; nkpde < needed_kpde ; nkpde++) {
- if (pmap_initialized == FALSE) {
+ if (uvm.page_init_done == FALSE) {
/*
* we're growing the kernel pmap early (from uvm_pageboot_alloc()).
* this case must be handled a little differently.
@@ -3573,6 +3573,12 @@
continue;
}
+ /*
+ * THIS *MUST* BE CODED SO AS TO WORK IN THE
+ * pmap_initialized == FALSE CASE! WE MAY BE
+ * INVOKED WHILE pmap_init() IS RUNNING!
+ */
+
pmap_alloc_ptp(kpm, PDSLOT_KERN + nkpde, FALSE);
kpm->pm_pdir[PDSLOT_KERN + nkpde] &= ~PG_u; /* PG_u not for kernel */
Home |
Main Index |
Thread Index |
Old Index