From owner-cvs-all@FreeBSD.ORG Tue May 4 13:07:46 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81E8616A4CE; Tue, 4 May 2004 13:07:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 635D943D2F; Tue, 4 May 2004 13:07:46 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i44K7kGe073265; Tue, 4 May 2004 13:07:46 -0700 (PDT) (envelope-from jhb@repoman.freebsd.org) Received: (from jhb@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i44K7kTf073264; Tue, 4 May 2004 13:07:46 -0700 (PDT) (envelope-from jhb) Message-Id: <200405042007.i44K7kTf073264@repoman.freebsd.org> From: John Baldwin Date: Tue, 4 May 2004 13:07:46 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/conf files.i386 src/sys/i386/isa elcr.c src/sys/i386/include intr_machdep.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 04 May 2004 20:07:46 -0000 jhb 2004/05/04 13:07:46 PDT FreeBSD src repository Modified files: sys/conf files.i386 sys/i386/include intr_machdep.h Added files: sys/i386/isa elcr.c Log: Add a simple mini-driver for the ELCR register. Originally, the ELCR register controlled the trigger mode and polarity of EISA interrupts. However, it appears that most (all?) PCI systems use the ELCR to manage the trigger mode and polarity of ISA interrupts as well since ISA IRQs used to route PCI interrupts need to be level triggered with active low polarity. We check to see if the ELCR exists by sanity checking the value we get back ensuring that IRQS 0 (8254), 1 (atkbd), 2 (the link from the slave PIC), and 8 (RTC) are all clear indicating edge trigger and active high polarity. This mini-driver will be used by the atpic driver to manage the trigger and polarity of ISA IRQs. Also, the mptable parsing code will use this mini driver rather than examining the ELCR directly. Revision Changes Path 1.487 +1 -0 src/sys/conf/files.i386 1.3 +5 -0 src/sys/i386/include/intr_machdep.h 1.1 +143 -0 src/sys/i386/isa/elcr.c (new)