From owner-cvs-src@FreeBSD.ORG Sat Apr 5 19:58:30 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D15171065670; Sat, 5 Apr 2008 19:58:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AAF798FC0C; Sat, 5 Apr 2008 19:58:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m35JwUui054032; Sat, 5 Apr 2008 19:58:30 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from jhb@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m35JwUhb054031; Sat, 5 Apr 2008 19:58:30 GMT (envelope-from jhb) Message-Id: <200804051958.m35JwUhb054031@repoman.freebsd.org> From: John Baldwin Date: Sat, 5 Apr 2008 19:58:30 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: 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 ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Apr 2008 19:58:30 -0000 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