Date: Thu, 17 Jun 2004 02:33:30 +0400 From: Roman Kurakin <rik@cronyx.ru> To: Bruce Evans <bde@zeta.org.au> Cc: freebsd-current@freebsd.org Subject: Re: How to catch interrupt Message-ID: <40D0CABA.1020101@cronyx.ru> In-Reply-To: <20040617080547.F8883@gamplex.bde.org> References: <40D070B7.5000009@cronyx.ru> <20040617080547.F8883@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans: >On Wed, 16 Jun 2004, Roman Kurakin wrote: > > >> How to catch interrupt for ISA device before registering handler for it? >> >> > >This cannot be done without duplicating lots of interrupt handler >registration code. (Actually only a little for a quick MD hack: just >setidt() to point to an interrupt handler, plus enabling the ICU^WPIC, >plus changing the normal code to not un-enable the PIC. npx.c still >does something like this in RELENG_4.) > >However, you may only need to test for pending interrupts. This can >be done for isa interrupts using isa_irq_pending() to get a bitmap of > It seems that this function is not working for interrupts that were already used by some driver before I call it. rik >pending irqs. See sio.c. On i386's there are also some newer harder >to use even less portable interfaces for determining pending irqs. >See i386/include/intr_machdep.h. > >Bruce > > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40D0CABA.1020101>