[comp.os.minix] >>Dumb Questions -- IBM Minix

u31b3hs@cip-s01.informatik.rwth-aachen.de (Michael Haardt) (12/05/90)

Hello world!

>>-- The Minix information sheet mentions that the IBM Minix supports
>>   up to three simultaneous users.  Is there any way to add two more,
>>   on COM3 and COM4?
>
>Not really.  There aren't enough interrupt request lines available
>in a PC to let COM3 and COM4 have their own interrupts, so they
>have to share interrupts with COM1 and COM2.  It would be quite
>a challenge to change the rs232 driver to handle shared interrupt
>lines, and the additional interrupt service overhead would eat
>up even more CPU cycles than it does now :-(
>
>It would be a much better idea to get a smart multi-port rs232 adapter
>card and try to either 1) find a driver for it or 2) write a driver
>if you really want to support four or five users.

No, that's not true.  In a PC, there is one free interrupt (in my opinion)
and in a AT there are more free interrupts.  Enabling COM3 is possible
by adding a third driver function with the apropiate port and interrupt
adresses.  Enabling COM4, hmm..., thats seems a little bit more difficult
in a AT and impossible in a XT, if you use one interrupt per line.  But
other people did the patch for shared interrupts and performance shouldn't
be bad at all.
It is not difficult to modify the serial card for shared interrupts if it
uses open collector drivers.  Modifying it for COM3 on a free interrupt
is always possible.  In most cases, there are jumpers or you have to
disconnect a line and connect another.

Michael Haardt

u31b3hs%cip-s01.informatik.rwth-aachen.de@unido.bitnet
(Please do not use the adress in the header)

------------------------------- Namaskaar --------------------------------

adrie@philica.ica.philips.nl (Adrie Koolen) (12/07/90)

In article <3719@rwthinf.UUCP> u31b3hs@cip-s01.informatik.rwth-aachen.de (Michael Haardt) writes:
>It is not difficult to modify the serial card for shared interrupts if it
>uses open collector drivers.

I'm no PC expert, but the PC uses edge-triggered interrupts, so you can only
benefit from open collector drivers (and thus interrupt sharing) when using
level-sensitive interrupts. You can program the 8259a PIC for that. If you
don't reprogram the PIC for level sensitivity, it will still work, but you'll
probably lose interrupts!

BTW, long time ago, I ported Minix 1.2 to the IBM PS/2 Model 60. The driver
I wrote for the 3 RS232c channels, still suffered from lost interrupts when
getting much send and receive interrupts at the same time. The design of the
8250 is such that you can't (or at least it's very hard to) design a driver
that is *guaranteed* not to lose interrupts!

Adrie Koolen (adrie@ica.philips.nl)
Philips Innovation Centre Aachen