Module Name: src
Committed By: matt
Date: Mon Feb 22 20:08:58 UTC 2010
Modified Files:
src/sys/arch/mips/include [matt-nb5-mips64]: intr.h
Log Message:
Add initial list of IPIs for MIPS SMP.
To generate a diff of this commit:
cvs rdiff -u -r1.3.96.3 -r1.3.96.4 src/sys/arch/mips/include/intr.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/include/intr.h
diff -u src/sys/arch/mips/include/intr.h:1.3.96.3 src/sys/arch/mips/include/intr.h:1.3.96.4
--- src/sys/arch/mips/include/intr.h:1.3.96.3 Tue Feb 16 08:13:57 2010
+++ src/sys/arch/mips/include/intr.h Mon Feb 22 20:08:58 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.3.96.3 2010/02/16 08:13:57 matt Exp $ */
+/* $NetBSD: intr.h,v 1.3.96.4 2010/02/22 20:08:58 matt Exp $ */
/*-
* Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -37,22 +37,29 @@
#define IPL_NONE 0
#define IPL_SOFTCLOCK (IPL_NONE+1)
-#define IPL_SOFTBIO (IPL_SOFTCLOCK) /* shares SWINT with softclock */
+#define IPL_SOFTBIO (IPL_SOFTCLOCK) /* shares SWINT with softclock */
#define IPL_SOFTNET (IPL_SOFTBIO+1)
-#define IPL_SOFTSERIAL (IPL_SOFTNET) /* shares SWINT with softnet */
+#define IPL_SOFTSERIAL (IPL_SOFTNET) /* shares SWINT with softnet */
#define IPL_VM (IPL_SOFTSERIAL+1)
#define IPL_SCHED (IPL_VM+1)
#define IPL_HIGH (IPL_SCHED)
#define _IPL_N (IPL_HIGH+1)
-#define IST_UNUSABLE -1 /* interrupt cannot be used */
-#define IST_NONE 0 /* none (dummy) */
-#define IST_PULSE 1 /* pulsed */
-#define IST_EDGE 2 /* edge-triggered */
-#define IST_LEVEL 3 /* level-triggered */
-#define IST_LEVEL_HIGH 4 /* level triggered, active high */
-#define IST_LEVEL_LOW 5 /* level triggered, active low */
+#define IST_UNUSABLE -1 /* interrupt cannot be used */
+#define IST_NONE 0 /* none (dummy) */
+#define IST_PULSE 1 /* pulsed */
+#define IST_EDGE 2 /* edge-triggered */
+#define IST_LEVEL 3 /* level-triggered */
+#define IST_LEVEL_HIGH 4 /* level triggered, active high */
+#define IST_LEVEL_LOW 5 /* level triggered, active low */
+
+#define IPI_NOP __BIT(0) /* do nothing, interrupt only */
+#define IPI_SHOOTDOWN __BIT(1) /* do a tlb shootdown */
+#define IPI_FPSYNC __BIT(2) /* save current fp registers */
+#define IPI_FPDISCARD __BIT(3) /* discard current fp registers */
+#define IPI_ISYNC __BIT(4) /* sync icache for pages */
+#define IPI_KPREEMPT __BIT(5) /* schedule a kernel preemption */
struct splsw {
int (*splsw_splhigh)(void);