From owner-freebsd-current Wed Apr 17 23:23:56 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id XAA17067 for current-outgoing; Wed, 17 Apr 1996 23:23:56 -0700 (PDT) Received: from nixpbe.pdb.sni.de (mail.sni.de [192.109.2.33]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id XAA17062 for ; Wed, 17 Apr 1996 23:23:47 -0700 (PDT) Received: (from nerv@localhost) by nixpbe.pdb.sni.de (8.6.12/8.6.12) id IAA20609 for current@freefall.freebsd.org; Thu, 18 Apr 1996 08:24:07 +0200 Message-Id: <199604180624.IAA20609@nixpbe.pdb.sni.de> Subject: Re: EtherExpress16 problems To: dwhite@resnet.uoregon.edu Date: Thu, 18 Apr 96 8:23:30 MDT From: Greg Lehey Cc: alk@Think.COM, current@freefall.freebsd.org, questions@freebsd.org In-Reply-To: ; from "Doug White" at Apr 17, 96 11:11 am X-Mailer: xmail 2.4 (based on ELM 2.2 PL16) Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > On Wed, 17 Apr 1996, Tony Kimball wrote: >> (Incidentally, I do not understand about IRQs 2 and 9. Is there a >> document I might read? Are they available for assignment to devices, >> generally?) > > The book "Running FreeBSD" has a good discussion on it. Thank you. > The 2/9 is a > hack to support 16 bit interrupts. Back in the old days of XTs they only > had 8 bit interrupts, and when 16 bit came they decided to cascase IRQ 2 > to 9. Don't ask me why. :) The interrupt controller chip used in the XT and AT was the Intel 8259A. It handled 8 interrupts, but had a so-called "cascade mode", where you could designate each of the primary interrupts as representing another group of 8. This is what they did in the AT: they took IRQ2, which up to this point had hardly been used, and used it for the interrupt input from the second 8259A. The *real* IRQ2 thus represents all of the IRQs from 8 to 15. This is (almost) completely transparent to the software, the only exception being the interrupt controller initialisation routines. There is also an ISA bus line called IRQ2 (B4: on the rear of the connector, 4th from left when you have the connector pointing down) It used to be connected to IRQ2 on the XT, but it now homeless, since it couldn't be connected to IRQ2. Instead, they connected it to IRQ9. Unfortunately, the line is (AFAIK) still called IRQ2. Thus the confusion. Bottom line: it's really IRQ9, but it's the only one of the IRQs 8-15 which you can use with an 8 bit board. Is this clear? Is it interesting? Shall I put it in the next edition of the book? Greg