From owner-freebsd-hackers Wed Jul 1 15:55:50 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA09123 for freebsd-hackers-outgoing; Wed, 1 Jul 1998 15:55:50 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from dingo.cdrom.com (dingo.cdrom.com [204.216.28.145]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA09117 for ; Wed, 1 Jul 1998 15:55:46 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (localhost [127.0.0.1]) by dingo.cdrom.com (8.8.8/8.8.5) with ESMTP id PAA01785; Wed, 1 Jul 1998 15:54:29 -0700 (PDT) Message-Id: <199807012254.PAA01785@dingo.cdrom.com> X-Mailer: exmh version 2.0zeta 7/24/97 To: "Larry S. Lile" cc: Mike Smith , hackers@FreeBSD.ORG Subject: Re: Problems with irq 9(2)? In-reply-to: Your message of "Wed, 01 Jul 1998 15:58:26 EDT." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 01 Jul 1998 15:54:29 -0700 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > > On Wed, 1 Jul 1998, Mike Smith wrote: > > > > > > > Does anybody know if there are problems with interrupt blocking > > > when using interrupt 9(2)? I am having problems with my token > > > ring card getting into a user blocked interrupt state and cannot > > > figure out what to do. This is really screwing up my token > > > ring driver development. > > > > Larry; I meant to get back to you on this earlier, but your previous > > message is still buried. > > > > The short answer is that you can't "block" ISA interupts, so the > > problem you're seeing has to be related to how you're talking to the > > card. The only confirmation of interrupt delivery that the card will > > ever get has to come from your code. > > I thought that was the entire purpose behind splxxx(), It held off > the 8259's until the kernel could process the next interrupt. *confused* No. Interrupts are never masked in the 8259 (too expensive). But even if they were, your card has no way of knowing what has happened to the interrupt. > Anyway, the card has a register (isrp) that has a bit that shows whether > or not the card can interrrupt the 8259 on its irq line. This works for > the first interrupt but as soon as I enter an spl loop that bit goes > high, saying he can't interrupt, and never drops even after exiting the > spl loop. The ISA interrupt protocol is one-sided, so there's no way that it could know anything about whether it can or can't interrupt. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message