*BSD News Article 18451


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!spool.mu.edu!nigel.msen.com!math.fu-berlin.de!unidus.rz.uni-duesseldorf.de!mueller.rz.uni-duesseldorf.de!dvs
From: dvs@ze8.rz.uni-duesseldorf.de (Wolfgang R. Mueller)
Newsgroups: comp.os.386bsd.bugs
Subject: [ANSWER for FAQ] IRQ2 vs IRQ9 [was: 3c503 probe]
Date: Thu, 15 Jul 1993 10:56:37 GMT
Organization: Computing Centre, Heinrich-Heine-University, Duesseldorf, Germany
Lines: 18
Distribution: world
Message-ID: <dvs.163.742733797@ze8.rz.uni-duesseldorf.de>
References: <221hoo$n4d@terminator.rs.itd.umich.edu>
NNTP-Posting-Host: mueller.rz.uni-duesseldorf.de

In article <221hoo$n4d@terminator.rs.itd.umich.edu> pauls@terminator.rs.itd.umich.edu (Paul Southworth) writes:
>Anyone know why the stock 3c503 driver thinks that the card is at IRQ 9
>(and it even works) when IRQ 9 is not even a possible IRQ for that card?
>The GENERICISA conf file says IRQ 2 .....

Questions of this type reappear every now and then.
When IBM switched from XT to AT they included a second interrupt controller.
This had to be cascaded, and IRQ 2 on the first one was chosen for this.
From the new IRQs 8 to 15 then IRQ 9 was chosen to be connected to the 
temporarily orphaned IRQ 2 line on the bus. So the hardware IRQ 2 line on 
the bus activates the software service routine for IRQ 9 ( i.e. interrupt 
vector 0x71 ). The standard bios service for example for vector 0x71 is an 
int instruction for vector 0x0a ( the one formerly in charge for IRQ 2 ).

So as a conclusion, in most contexts you need not worry about any 
discrepancies between IRQ 2 and IRQ 9.
Wolfgang R. Mueller <dvs@ze8.rz.uni-duesseldorf.de>,
Computing Centre, Heinrich-Heine-University, Duesseldorf, Germany.