From owner-cvs-all@FreeBSD.ORG Sat Aug 11 19:25:33 2007 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17DDB16A41A; Sat, 11 Aug 2007 19:25:33 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F3FEF13C459; Sat, 11 Aug 2007 19:25:32 +0000 (UTC) (envelope-from marcel@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 l7BJPWjq083715; Sat, 11 Aug 2007 19:25:32 GMT (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7BJPWQv083714; Sat, 11 Aug 2007 19:25:32 GMT (envelope-from marcel) Message-Id: <200708111925.l7BJPWQv083714@repoman.freebsd.org> From: Marcel Moolenaar Date: Sat, 11 Aug 2007 19:25:32 +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/powerpc/include intr_machdep.h md_var.h openpicvar.h src/sys/powerpc/powermac hrowpic.c hrowpicvar.h openpic_macio.c src/sys/powerpc/powerpc autoconf.c interrupt.c intr_machdep.c nexus.c openpic.c pic_if.m src/sys/powerpc/psim ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Aug 2007 19:25:33 -0000 marcel 2007-08-11 19:25:32 UTC FreeBSD src repository Modified files: sys/powerpc/include intr_machdep.h md_var.h openpicvar.h sys/powerpc/powermac hrowpic.c hrowpicvar.h openpic_macio.c sys/powerpc/powerpc autoconf.c interrupt.c intr_machdep.c nexus.c openpic.c pic_if.m sys/powerpc/psim openpic_iobus.c Log: Revamp the interrupt handling in support of INTR_FILTER. This includes: o Revamp the PIC I/F to only abstract the PIC hardware. The resource handling has been moved to nexus, where it belongs. o Include EOI and MASK+EOI methods to the PIC I/F in support of INTR_FILTER. o With the allocation of interrupt resources and setup of interrupt handlers in the common platform code we can delay talking to the PIC hardware after enumeration of all devices. Introduce a call to powerpc_intr_enable() in configure_final() to achieve that and have powerpc_setup_intr() only program the PIC when !cold. o As a consequence of the above, remove all early_attach() glue from the OpenPIC and Heathrow PIC drivers and have them register themselves when they're found during enumeration. o Decouple the interrupt vector from the interrupt request line. Allocate vectors increasingly so that they can be used for the intrcnt index as well. Extend the Heathrow PIC driver to translate between IRQ and vector. The OpenPIC driver already has the support for vectors in hardware. Approved by: re (blanket) Revision Changes Path 1.9 +9 -20 src/sys/powerpc/include/intr_machdep.h 1.29 +3 -6 src/sys/powerpc/include/md_var.h 1.6 +14 -19 src/sys/powerpc/include/openpicvar.h 1.13 +108 -328 src/sys/powerpc/powermac/hrowpic.c 1.3 +5 -7 src/sys/powerpc/powermac/hrowpicvar.h 1.10 +12 -144 src/sys/powerpc/powermac/openpic_macio.c 1.16 +8 -1 src/sys/powerpc/powerpc/autoconf.c 1.8 +4 -15 src/sys/powerpc/powerpc/interrupt.c 1.13 +118 -69 src/sys/powerpc/powerpc/intr_machdep.c 1.15 +54 -41 src/sys/powerpc/powerpc/nexus.c 1.16 +73 -243 src/sys/powerpc/powerpc/openpic.c 1.4 +15 -21 src/sys/powerpc/powerpc/pic_if.m 1.7 +14 -128 src/sys/powerpc/psim/openpic_iobus.c