summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-12-22 10:06:09 +0000
committerdyson <dyson@FreeBSD.org>1997-12-22 10:06:09 +0000
commitedbb7fba33341ee51275b280eea58c89c6448856 (patch)
tree72935a6d3478af1784f650725e1270b61dc1b99b
parent18b5ec7c3afe8062e2a463ec3268e47d2d9a4a27 (diff)
downloadFreeBSD-src-edbb7fba33341ee51275b280eea58c89c6448856.zip
FreeBSD-src-edbb7fba33341ee51275b280eea58c89c6448856.tar.gz
Correct my previous fix for the UPAGES problem.
-rw-r--r--sys/amd64/amd64/pmap.c8
-rw-r--r--sys/i386/i386/pmap.c8
2 files changed, 6 insertions, 10 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index ff06e1f..fa9b6bd 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.174 1997/12/14 02:11:04 dyson Exp $
+ * $Id: pmap.c,v 1.175 1997/12/22 00:36:48 dyson Exp $
*/
/*
@@ -928,16 +928,14 @@ pmap_dispose_proc(p)
if ((m = vm_page_lookup(upobj, i)) == NULL)
panic("pmap_dispose_proc: upage already missing???");
*(ptek + i) = 0;
- if (cpu_class != CPUCLASS_386)
+ if (cpu_class >= CPUCLASS_586)
invlpg((vm_offset_t) p->p_addr + i * PAGE_SIZE);
vm_page_unwire(m);
vm_page_free(m);
}
-#if defined(I386_CPU)
- if (cpu_class == CPUCLASS_386)
+ if (cpu_class < CPUCLASS_586)
invltlb();
-#endif
vm_object_deallocate(upobj);
kmem_free(u_map, (vm_offset_t)p->p_addr, ctob(UPAGES));
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index ff06e1f..fa9b6bd 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
- * $Id: pmap.c,v 1.174 1997/12/14 02:11:04 dyson Exp $
+ * $Id: pmap.c,v 1.175 1997/12/22 00:36:48 dyson Exp $
*/
/*
@@ -928,16 +928,14 @@ pmap_dispose_proc(p)
if ((m = vm_page_lookup(upobj, i)) == NULL)
panic("pmap_dispose_proc: upage already missing???");
*(ptek + i) = 0;
- if (cpu_class != CPUCLASS_386)
+ if (cpu_class >= CPUCLASS_586)
invlpg((vm_offset_t) p->p_addr + i * PAGE_SIZE);
vm_page_unwire(m);
vm_page_free(m);
}
-#if defined(I386_CPU)
- if (cpu_class == CPUCLASS_386)
+ if (cpu_class < CPUCLASS_586)
invltlb();
-#endif
vm_object_deallocate(upobj);
kmem_free(u_map, (vm_offset_t)p->p_addr, ctob(UPAGES));
OpenPOWER on IntegriCloud