Date: Tue, 4 May 2004 13:07:46 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/conf files.i386 src/sys/i386/isa elcr.c src/sys/i386/include intr_machdep.h Message-ID: <200405042007.i44K7kTf073264@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405042007.i44K7kTf073264>
