From owner-freebsd-hackers Fri Jan 24 10:31:20 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA11542 for hackers-outgoing; Fri, 24 Jan 1997 10:31:20 -0800 (PST) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA11533; Fri, 24 Jan 1997 10:31:11 -0800 (PST) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id LAA07643; Fri, 24 Jan 1997 11:27:29 -0700 (MST) Date: Fri, 24 Jan 1997 11:27:29 -0700 (MST) Message-Id: <199701241827.LAA07643@rocky.mt.sri.com> From: Nate Williams To: Terry Lambert Cc: julian@whistle.com (Julian Elischer), bde@freebsd.org, hackers@freebsd.org Subject: Re: Bruce! HHHEEELLLLPPPP! In-Reply-To: <199701241659.JAA27323@phaeton.artisoft.com> References: <32E8BEFD.167EB0E7@whistle.com> <199701241659.JAA27323@phaeton.artisoft.com> Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk [ It's not obvious if the driver in questions registers/unregisters an IRQ. ] > > Bruce.. I spent quite a few hours trying to understand > > the interrupt masking system and failed.. If you want Julian, I *think* I have a pretty good understanding of the interrupt masking system (including a lot of 'mis-features' w/regards to IRQ unloading/unregistering. I have broken code which works better, but doesn't take into account things like the net/tty/clock masks, so it ends up locking up my system if I load/unload PCCARD drivers from my system after a while. > I think it's a case of unregistration being required, not masking; Yep, and unregisteration doens't occur. > Bruce can correct me, but I think a masked interrupt which occurs > while masked is delivered at unmask time. This is a scary thought, > since it bears on the question "how do I disable an interrupt > without potentially causing it to occur following unregistration?". If you disable the interrupt and remove it's IRQ handler, then you'll get a 'stray interrupt' at unmask time, which is 'handled' sort of. Nate