Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/uvm The i386 and pc532 pmaps are officially fixed.
details: https://anonhg.NetBSD.org/src/rev/175ade158179
branches: trunk
changeset: 473729:175ade158179
user: thorpej <thorpej%NetBSD.org@localhost>
date: Thu Jun 17 00:24:10 1999 +0000
description:
The i386 and pc532 pmaps are officially fixed.
diffstat:
sys/uvm/uvm_glue.c | 13 +------------
sys/uvm/uvm_map.c | 50 +-------------------------------------------------
2 files changed, 2 insertions(+), 61 deletions(-)
diffs (105 lines):
diff -r f40700d46aa0 -r 175ade158179 sys/uvm/uvm_glue.c
--- a/sys/uvm/uvm_glue.c Thu Jun 17 00:22:41 1999 +0000
+++ b/sys/uvm/uvm_glue.c Thu Jun 17 00:24:10 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_glue.c,v 1.23 1999/05/28 20:49:51 thorpej Exp $ */
+/* $NetBSD: uvm_glue.c,v 1.24 1999/06/17 00:24:10 thorpej Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -160,17 +160,6 @@
boolean_t rv;
vm_prot_t prot = rw == B_READ ? VM_PROT_READ : VM_PROT_WRITE;
-#if defined(i386) || defined(pc532)
- /*
- * XXX - specially disallow access to user page tables - they are
- * in the map. This is here until i386 & pc532 pmaps are fixed...
- */
- if ((vaddr_t) addr >= VM_MAXUSER_ADDRESS
- || (vaddr_t) addr + len > VM_MAXUSER_ADDRESS
- || (vaddr_t) addr + len <= (vaddr_t) addr)
- return (FALSE);
-#endif
-
rv = uvm_map_checkprot(&curproc->p_vmspace->vm_map,
trunc_page(addr), round_page(addr+len), prot);
return(rv);
diff -r f40700d46aa0 -r 175ade158179 sys/uvm/uvm_map.c
--- a/sys/uvm/uvm_map.c Thu Jun 17 00:22:41 1999 +0000
+++ b/sys/uvm/uvm_map.c Thu Jun 17 00:24:10 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_map.c,v 1.57 1999/06/16 22:11:23 thorpej Exp $ */
+/* $NetBSD: uvm_map.c,v 1.58 1999/06/17 00:24:10 thorpej Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -2697,25 +2697,6 @@
nvm = uvmspace_alloc(map->min_offset, map->max_offset,
(map->flags & VM_MAP_PAGEABLE) ? TRUE : FALSE);
-#if (defined(i386) || defined(pc532)) && !defined(PMAP_NEW)
- /*
- * allocate zero fill area in the new vmspace's map for user
- * page tables for ports that have old style pmaps that keep
- * user page tables in the top part of the process' address
- * space.
- *
- * XXXCDC: this should go away once all pmaps are fixed
- */
- {
- vaddr_t addr = VM_MAXUSER_ADDRESS;
- if (uvm_map(&nvm->vm_map, &addr, VM_MAX_ADDRESS - addr,
- NULL, UVM_UNKNOWN_OFFSET, UVM_MAPFLAG(UVM_PROT_ALL,
- UVM_PROT_ALL, UVM_INH_NONE, UVM_ADV_NORMAL,
- UVM_FLAG_FIXED|UVM_FLAG_COPYONW)) != KERN_SUCCESS)
- panic("vm_allocate of PT page area failed");
- }
-#endif
-
/*
* install new vmspace and drop our ref to the old one.
*/
@@ -2788,16 +2769,6 @@
boolean_t protect_child;
UVMHIST_FUNC("uvmspace_fork"); UVMHIST_CALLED(maphist);
-#if (defined(i386) || defined(pc532)) && !defined(PMAP_NEW)
- /*
- * avoid copying any of the parent's pagetables or other per-process
- * objects that reside in the map by marking all of them non-inheritable
- * XXXCDC: should go away
- */
- (void) uvm_map_inherit(old_map, VM_MAXUSER_ADDRESS, VM_MAX_ADDRESS,
- VM_INHERIT_NONE);
-#endif
-
vm_map_lock(old_map);
vm2 = uvmspace_alloc(old_map->min_offset, old_map->max_offset,
@@ -3065,25 +3036,6 @@
new_map->size = old_map->size;
vm_map_unlock(old_map);
-#if (defined(i386) || defined(pc532)) && !defined(PMAP_NEW)
- /*
- * allocate zero fill area in the new vmspace's map for user
- * page tables for ports that have old style pmaps that keep
- * user page tables in the top part of the process' address
- * space.
- *
- * XXXCDC: this should go away once all pmaps are fixed
- */
- {
- vaddr_t addr = VM_MAXUSER_ADDRESS;
- if (uvm_map(new_map, &addr, VM_MAX_ADDRESS - addr, NULL,
- UVM_UNKNOWN_OFFSET, UVM_MAPFLAG(UVM_PROT_ALL,
- UVM_PROT_ALL, UVM_INH_NONE, UVM_ADV_NORMAL,
- UVM_FLAG_FIXED|UVM_FLAG_COPYONW)) != KERN_SUCCESS)
- panic("vm_allocate of PT page area failed");
- }
-#endif
-
#ifdef SYSVSHM
if (vm1->vm_shm)
shmfork(vm1, vm2);
Home |
Main Index |
Thread Index |
Old Index