From owner-cvs-all@FreeBSD.ORG Sun May 6 17:02:50 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB1B416A403; Sun, 6 May 2007 17:02:50 +0000 (UTC) (envelope-from piso@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B315713C46A; Sun, 6 May 2007 17:02:50 +0000 (UTC) (envelope-from piso@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l46H2oJh057261; Sun, 6 May 2007 17:02:50 GMT (envelope-from piso@repoman.freebsd.org) Received: (from piso@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l46H2oVK057260; Sun, 6 May 2007 17:02:50 GMT (envelope-from piso) Message-Id: <200705061702.l46H2oVK057260@repoman.freebsd.org> From: Paolo Pisati Date: Sun, 6 May 2007 17:02:50 +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/i386/i386 intr_machdep.c src/sys/kern kern_intr.c src/sys/sys interrupt.h 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: Sun, 06 May 2007 17:02:51 -0000 piso 2007-05-06 17:02:50 UTC FreeBSD src repository Modified files: sys/amd64/amd64 intr_machdep.c sys/i386/i386 intr_machdep.c sys/kern kern_intr.c sys/sys interrupt.h Log: Bring in the reminaing bits to make interrupt filtering work: o push much of the i386 and amd64 MD interrupt handling code (intr_machdep.c::intr_execute_handlers()) into MI code (kern_intr.c::ithread_loop()) o move filter handling to kern_intr.c::intr_filter_loop() o factor out the code necessary to mask and ack an interrupt event (intr_machdep.c::intr_eoi_src() and intr_machdep.c::intr_disab_eoi_src()), and make them part of 'struct intr_event', passing them as arguments to kern_intr.c::intr_event_create(). o spawn a private ithread per handler (struct intr_handler::ih_thread) with filter and ithread functions. Approved by: re (implicit?) Revision Changes Path 1.31 +84 -0 src/sys/amd64/amd64/intr_machdep.c 1.26 +85 -1 src/sys/i386/i386/intr_machdep.c 1.144 +570 -6 src/sys/kern/kern_intr.c 1.37 +21 -0 src/sys/sys/interrupt.h