Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/vax Add IPI_TBIA to flush the translation buffer.



details:   https://anonhg.NetBSD.org/src/rev/401582608add
branches:  trunk
changeset: 510685:401582608add
user:      ragge <ragge%NetBSD.org@localhost>
date:      Mon Jun 04 15:34:15 2001 +0000

description:
Add IPI_TBIA to flush the translation buffer.

diffstat:

 sys/arch/vax/include/cpu.h  |  4 ++--
 sys/arch/vax/vax/multicpu.c |  8 ++++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diffs (54 lines):

diff -r 4ecee82bd8eb -r 401582608add sys/arch/vax/include/cpu.h
--- a/sys/arch/vax/include/cpu.h        Mon Jun 04 15:33:07 2001 +0000
+++ b/sys/arch/vax/include/cpu.h        Mon Jun 04 15:34:15 2001 +0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: cpu.h,v 1.58 2001/06/03 15:12:57 ragge Exp $      */
+/*      $NetBSD: cpu.h,v 1.59 2001/06/04 15:34:15 ragge Exp $      */
 
 /*
  * Copyright (c) 1994 Ludd, University of Lule}, Sweden
@@ -93,6 +93,7 @@
 #define        IPI_START_CNTX  1       /* Start console transmitter, proc out */
 #define        IPI_SEND_CNCHAR 2       /* Write char to console, kernel printf */
 #define        IPI_RUNNING     3       /* This CPU just started to run */
+#define        IPI_TBIA        4       /* Flush the TLB */
 
 #define        IPI_DEST_MASTER -1      /* Destination is mastercpu */
 #define        IPI_DEST_ALL    -2      /* Broadcast */
@@ -158,7 +159,6 @@
 
 extern char tramp;
 #endif
-#define        NO_KPRINTF_SPINLOCK     /* Separate consoles */
 
 /*
  * Notify the current process (p) that it has a signal pending,
diff -r 4ecee82bd8eb -r 401582608add sys/arch/vax/vax/multicpu.c
--- a/sys/arch/vax/vax/multicpu.c       Mon Jun 04 15:33:07 2001 +0000
+++ b/sys/arch/vax/vax/multicpu.c       Mon Jun 04 15:34:15 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: multicpu.c,v 1.7 2001/06/03 15:07:20 ragge Exp $       */
+/*     $NetBSD: multicpu.c,v 1.8 2001/06/04 15:34:16 ragge Exp $       */
 
 /*
  * Copyright (c) 2000 Ludd, University of Lule}, Sweden. All rights reserved.
@@ -183,6 +183,8 @@
                        }
                        break;
                case IPI_DEST_ALL:
+                       if (i == cpu_number())
+                               continue;       /* No IPI to myself */
                        bbssi(type, &sc->sc_ci.ci_ipimsgs);
                        (*mp_dep_call->cpu_send_ipi)(&sc->sc_dev);
                        break;
@@ -215,7 +217,9 @@
                        (*mp_dep_call->cpu_cnintr)();
                        break;
                case IPI_RUNNING:
-                       printf("something running\n");
+                       break;
+               case IPI_TBIA:
+                       mtpr(0, PR_TBIA);
                        break;
                }
        }



Home | Main Index | Thread Index | Old Index