diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-12-21 14:56:25 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-12-21 14:56:25 +0000 |
commit | b45bcd941aeed9f9b5bca41338e52b47d57e7e43 (patch) | |
tree | 5a85ea83bfba94610d95b7c92196ee879e6dc6b6 /sys/arch/i386 | |
parent | 1a7fe0231942d0e57909a2e6458fbcd0d2a5a8e0 (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.s | 14 | ||||
-rw-r--r-- | sys/arch/i386/include/intr.h | 5 | ||||
-rw-r--r-- | sys/arch/i386/isa/icu.s | 20 |
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 |