Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Sep 1997 10:56:16 +0930
From:      Greg Lehey <grog@lemis.com>
To:        Nigel Gorry <nigel@4kz.com.au>
Cc:        questions@FreeBSD.ORG
Subject:   Re: Serial ports...
Message-ID:  <19970925105616.07116@lemis.com>
In-Reply-To: <3.0.32.19970925110436.006f3e60@mail.4kz.com.au>; from Nigel Gorry on Thu, Sep 25, 1997 at 11:04:37AM %2B1000
References:  <3.0.32.19970925110436.006f3e60@mail.4kz.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 25, 1997 at 11:04:37AM +1000, Nigel Gorry wrote:
> I am considering purchasing some serial cards that can be addressed as COM1
> - COM8 and have a choice of 9 IRQ's.
>
> Can FreeBSD support 8 com ports in one PC? 

Yes.

> IRQ's are not a problem, because all the PC will have is a VGA & IDE
> Controller, and all the other IRQ will be used for serial ports.

They're still a problem.  You don't have nearly as many IRQs as you
think.  Here's a rough map:

/* Interrupt masks: mask word contains 16 bits, each masking an interrupt.
 * The hardware consists of 2 Intel 8259A interrupt handlers or workalikes.
 * Each interrupt handler can handle 8 interrupts, but they are cascaded:
 * ICU2's output goes to IRQ2 input on ICU2, which will then treat all ICU2
 * interrupts at that priority. The motherboard IRQ2 line is in fact connected
 * to IRQ9 on ICU2.
 * Bit number corresponds to the IRQ. Interrupt usage for ISA motherboards:
 *
 * 0: Timer 0 (motherboard)
 * 1: Keyboard (motherboard)
 * 2: Cascade input from ICU2
 * 3: free, usually com1
 * 4: free, usually com0
 * 5: free, usually lp1
 * 6: floppy adaptor
 * 7: free, usually lp0
 * 8: real time clock (motherboard)
 * 9: free, IRQ2 input
 * 10: free
 * 11: free, usually AHA disk interrupt
 * 12: free
 * 13: numeric coprocessor interrupt
 * 14: (wd) disk controller
 * 15: free, sometimes used for power management
 */

In other words, if everything goes well, you have a total of 10 IRQs
available for all boards.  You'll need:

1 IRQ for the disk controller
0 IRQs for the VGA (that's something)
1 IRQ for power management (probably)
1 IRQ if you have a network board installed

That would leave you with only 7 IRQs.  If you're not running a
network board, how are you going to use the machine?

My question, I suppose, is "does this board *really* use 8 IRQs?".  Or
do you mean that they're individual boards?

Greg




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970925105616.07116>