From owner-freebsd-current Tue Jan 7 20:57:26 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id UAA12467 for current-outgoing; Tue, 7 Jan 1997 20:57:26 -0800 (PST) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id UAA12459 for ; Tue, 7 Jan 1997 20:57:24 -0800 (PST) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id VAA29298; Tue, 7 Jan 1997 21:57:05 -0700 (MST) Date: Tue, 7 Jan 1997 21:57:05 -0700 (MST) Message-Id: <199701080457.VAA29298@rocky.mt.sri.com> From: Nate Williams To: Bruce Evans Cc: current@freebsd.org, nate@mt.sri.com Subject: Re: Kernel driver advice In-Reply-To: <199701080202.NAA13412@godzilla.zeta.org.au> References: <199701080202.NAA13412@godzilla.zeta.org.au> Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > >Is there a better/different way of registering the need for an interrupt > >and *NOT* being an ISA device? How do the PCI devices grab an > >interrupt? > > No. The PCI devices just grab an interrupt. They are initialized > before ISA devices, so this sort of works. However, the ISA conflict > checking doesn't know about resources grabbed by PCI devices. If an > ISA probe succeeds, then isa.c attempts to grab the interrupt. If the > interrupt is already allocated, then the allocation isn't changed and > the error code is ignored, leaving the ISA driver unattached from the > interrupt. This isn't much of a solution, since it's the current way things are. The PCIC controller grabs interrupt 3, and when sio1 tries to use it fails (w/out the user knowing it). > >Finally, is there a way to request the list of used/unused IRQ's in the > >system at a point in time? I'd like to be able to check if a particular > > Attempt to allocate all IRQs and put back the ones that you get but don't > want. *laugh* Who keeps track of allocated interrupts? Would it be possible/useful to add a 'give me what has already been allocated' kind of function? Instead of alloc_intr() something obvious like intr_alloced()? *grin* Nate