Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/sommerfeld_i386mp_1]: src/sys/arch/i386/i386 Add some missing tlb shootd...



details:   https://anonhg.NetBSD.org/src/rev/43c7ef7c1f81
branches:  sommerfeld_i386mp_1
changeset: 482312:43c7ef7c1f81
user:      sommerfeld <sommerfeld%NetBSD.org@localhost>
date:      Sat Nov 18 22:53:57 2000 +0000

description:
Add some missing tlb shootdown operations.

diffstat:

 sys/arch/i386/i386/vm_machdep.c |  18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diffs (34 lines):

diff -r c8732e91165e -r 43c7ef7c1f81 sys/arch/i386/i386/vm_machdep.c
--- a/sys/arch/i386/i386/vm_machdep.c   Sat Nov 18 22:53:20 2000 +0000
+++ b/sys/arch/i386/i386/vm_machdep.c   Sat Nov 18 22:53:57 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vm_machdep.c,v 1.86.2.7 2000/08/24 02:33:14 sommerfeld Exp $   */
+/*     $NetBSD: vm_machdep.c,v 1.86.2.8 2000/11/18 22:53:57 sommerfeld Exp $   */
 
 /*-
  * Copyright (c) 1995 Charles M. Hannum.  All rights reserved.
@@ -309,11 +309,21 @@
                if (cpu_class != CPUCLASS_386)
 #endif
                {
-                       if (otpte & PG_V)
+                       if (otpte & PG_V) {
                                pmap_update_pg((vaddr_t) to);
-                       if (ofpte & PG_V)
+#ifdef MULTIPROCESSOR
+                               pmap_tlb_shootdown(pmap_kernel(),
+                                   (vaddr_t)to, otpte);
+#endif
+                       }
+                       
+                       if (ofpte & PG_V) {
                                pmap_update_pg((vaddr_t) from);
-                       /* XXX MP tlb shootdown! */
+#ifdef MULTIPROCESSOR
+                               pmap_tlb_shootdown(pmap_kernel(),
+                                   (vaddr_t)from, ofpte);
+#endif
+                       }
                }
                from += NBPG;
                to += NBPG;



Home | Main Index | Thread Index | Old Index