summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2010-12-21 14:56:25 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2010-12-21 14:56:25 +0000
commitb45bcd941aeed9f9b5bca41338e52b47d57e7e43 (patch)
tree5a85ea83bfba94610d95b7c92196ee879e6dc6b6 /sys/arch/i386
parent1a7fe0231942d0e57909a2e6458fbcd0d2a5a8e0 (diff)
Convert netisr to a normal soft interrupt instead of hanving MD code
for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/apicvec.s14
-rw-r--r--sys/arch/i386/include/intr.h5
-rw-r--r--sys/arch/i386/isa/icu.s20
3 files changed, 4 insertions, 35 deletions
diff --git a/sys/arch/i386/i386/apicvec.s b/sys/arch/i386/i386/apicvec.s
index 8be396dbad4..8e30149aff3 100644
--- a/sys/arch/i386/i386/apicvec.s
+++ b/sys/arch/i386/i386/apicvec.s
@@ -1,4 +1,4 @@
-/* $OpenBSD: apicvec.s,v 1.21 2010/01/11 23:09:52 kettenis Exp $ */
+/* $OpenBSD: apicvec.s,v 1.22 2010/12/21 14:56:23 claudio Exp $ */
/* $NetBSD: apicvec.s,v 1.1.2.2 2000/02/21 21:54:01 sommerfeld Exp $ */
/*-
@@ -207,13 +207,6 @@ XINTR(softclock):
decl CPUVAR(IDEPTH)
jmp _C_LABEL(Xdoreti)
-#define DONETISR(s, c) \
- .globl _C_LABEL(c) ;\
- testl $(1 << s),%edi ;\
- jz 1f ;\
- call _C_LABEL(c) ;\
-1:
-
XINTR(softnet):
pushl $0
pushl $T_ASTFLT
@@ -228,11 +221,6 @@ XINTR(softnet):
#ifdef MULTIPROCESSOR
call _C_LABEL(i386_softintlock)
#endif
- xorl %edi,%edi
- xchgl _C_LABEL(netisr),%edi
-
-#include <net/netisr_dispatch.h>
-
pushl $I386_SOFTINTR_SOFTNET
call _C_LABEL(softintr_dispatch)
addl $4,%esp
diff --git a/sys/arch/i386/include/intr.h b/sys/arch/i386/include/intr.h
index bfba600f8de..25af9b82e12 100644
--- a/sys/arch/i386/include/intr.h
+++ b/sys/arch/i386/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.39 2009/08/13 13:24:48 kettenis Exp $ */
+/* $OpenBSD: intr.h,v 1.40 2010/12/21 14:56:23 claudio Exp $ */
/* $NetBSD: intr.h,v 1.5 1996/05/13 06:11:28 mycroft Exp $ */
/*
@@ -126,9 +126,6 @@ void splassert_check(int, const char *);
#define spllock() splhigh()
#define spl0() spllower(IPL_NONE)
-#define setsoftnet() softintr(SIR_NET)
-#define setsofttty() softintr(SIR_TTY)
-
#include <machine/pic.h>
struct cpu_info;
diff --git a/sys/arch/i386/isa/icu.s b/sys/arch/i386/isa/icu.s
index 42ab42a2370..2d83f61843a 100644
--- a/sys/arch/i386/isa/icu.s
+++ b/sys/arch/i386/isa/icu.s
@@ -1,4 +1,4 @@
-/* $OpenBSD: icu.s,v 1.30 2010/05/09 12:03:16 kettenis Exp $ */
+/* $OpenBSD: icu.s,v 1.31 2010/12/21 14:56:23 claudio Exp $ */
/* $NetBSD: icu.s,v 1.45 1996/01/07 03:59:34 mycroft Exp $ */
/*-
@@ -30,14 +30,10 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <net/netisr.h>
-
.data
- .globl _C_LABEL(imen),_C_LABEL(netisr)
+ .globl _C_LABEL(imen)
_C_LABEL(imen):
.long 0xffff # interrupt mask enable (all off)
-_C_LABEL(netisr):
- .long 0 # scheduling bits for network
.text
/*
@@ -136,13 +132,6 @@ IDTVEC(softtty)
#endif
jmp *%esi
-#define DONETISR(s, c) \
- .globl _C_LABEL(c) ;\
- testl $(1 << s),%edi ;\
- jz 1f ;\
- call _C_LABEL(c) ;\
-1:
-
IDTVEC(softnet)
movl $IPL_SOFTNET,%eax
movl %eax,CPL
@@ -150,11 +139,6 @@ IDTVEC(softnet)
#ifdef MULTIPROCESSOR
call _C_LABEL(i386_softintlock)
#endif
- xorl %edi,%edi
- xchgl _C_LABEL(netisr),%edi
-
-#include <net/netisr_dispatch.h>
-
pushl $I386_SOFTINTR_SOFTNET
call _C_LABEL(softintr_dispatch)
addl $4,%esp