Date: Sat, 5 Apr 2008 19:58:30 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/amd64/amd64 intr_machdep.c src/sys/arm/arm intr.c src/sys/i386/i386 intr_machdep.c src/sys/ia64/ia64 interrupt.c src/sys/kern kern_intr.c src/sys/powerpc/powerpc intr_machdep.c src/sys/sparc64/sparc64 intr_machdep.c ... Message-ID: <200804051958.m35JwUhb054031@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2008-04-05 19:58:30 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 intr_machdep.c
sys/arm/arm intr.c
sys/i386/i386 intr_machdep.c
sys/ia64/ia64 interrupt.c
sys/kern kern_intr.c
sys/powerpc/powerpc intr_machdep.c
sys/sparc64/sparc64 intr_machdep.c
sys/sun4v/sun4v intr_machdep.c
sys/sys interrupt.h
Log:
Add a MI intr_event_handle() routine for the non-INTR_FILTER case. This
allows all the INTR_FILTER #ifdef's to be removed from the MD interrupt
code.
- Rename the intr_event 'eoi', 'disable', and 'enable' hooks to
'post_filter', 'pre_ithread', and 'post_ithread' to be less x86-centric.
Also, add a comment describe what the MI code expects them to do.
- On amd64, i386, and powerpc this is effectively a NOP.
- On arm, don't bother masking the interrupt unless the ithread is
scheduled in the non-INTR_FILTER case to match what INTR_FILTER did.
Also, don't bother unmasking the interrupt in the post_filter case if
we never masked it. The INTR_FILTER case had been doing this by having
arm_unmask_irq for the post_filter (formerly 'eoi') hook.
- On ia64, stray interrupts are now masked for the non-INTR_FILTER case.
They were already masked in the INTR_FILTER case.
- On sparc64, use the a NULL pre_ithread hook and use intr_enable_eoi() for
both the 'post_filter' and 'post_ithread' hooks to match what the
non-INTR_FILTER code did.
- On sun4v, retire the ithread wrapper hack by using an appropriate
'post_ithread' hook instead (it's what 'post_ithread'/'enable' was
designed to do even in 5.x).
Glanced at by: piso
Reviewed by: marius
Requested by: marius [1], [5]
Tested on: amd64, i386, arm, sparc64
Revision Changes Path
1.40 +2 -111 src/sys/amd64/amd64/intr_machdep.c
1.20 +3 -43 src/sys/arm/arm/intr.c
1.35 +2 -121 src/sys/i386/i386/intr_machdep.c
1.65 +4 -46 src/sys/ia64/ia64/interrupt.c
1.160 +105 -21 src/sys/kern/kern_intr.c
1.20 +1 -45 src/sys/powerpc/powerpc/intr_machdep.c
1.31 +3 -51 src/sys/sparc64/sparc64/intr_machdep.c
1.10 +14 -79 src/sys/sun4v/sun4v/intr_machdep.c
1.40 +34 -17 src/sys/sys/interrupt.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804051958.m35JwUhb054031>
