[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Some remarks: Interrupts and serial ports



	Hi all!

I've read a discussion about serial ports and interrupts and still have
some doubts.
WHY KERNEL'S SERIAL DRIVER IS WRITTEN IN THIS WAY THAT IT'S IMPOSSIBLE TO
SHARE INTERRUPTS?
>From the hardware point of view it should be quite possible. The interrupt
line is driven by a three-state buffer, so it is impossible to use two
serial ports with the same interrupt simultaneously, but it should be
possible to use them by turns.
When program wants to open a serial device, driver should check the status
of the appropriate interrupt line, and open it only if the line is not
used by other devices. It is possible to arrange it that way by slight
changes in the serial driver (Well, I know that if it's so easy I should
propose the concrete solution, but at the moment I really have no time to 
experiment with the kernel).

 What could it be used for?
Just for example:
In my home computer I have four serial ports - two integrated with the
motherboard (used for mouse and modem), and two located on the
Multi-IO board (used for interface for my Casio organizer and EVM 56002
DSP evaluation board).
I may not sacrifice more than two (3 and 4) interrupts for serial ports,
because all other interrupts are already used by other hardware.
I usually use the mouse and ONE of the other devices, so I would like to 
use mouse with COM1/IRQ3, modem with COM2/IRQ4, CASIO with COM3/IRQ4 and
EVM with COM4/IRQ4.
Well, one may say that I could get exactly the same by using only two
serial ports with a switch ('multiplexer'), but it would be more
expensive, would increase amount of cables around my computer, and would
require to operate the switch manually when I change the device.
 
So I think it would be useful to change serial driver that way. If there
are other people interested in it, I would like to discuss with them this
problem.
						Wojtek Zabolotny
						wzab@ipe.pw.edu.pl
PS.
IN FACT IT IS A PROBLEM WITH BRAIN-DEAD PC ARCHITECTURE. THERE SHOULD BE
ONE ONLY INTERRUPT LINE USED BY ALL SERIAL PORTS. THE INTERRUPT LINES IN
ISA SLOT SHOULD BE ACTIVATED WITH "0" LEVEL, AND ALL SERIAL CARDS
SHOULD HAVE OPEN DRAIN OUTPUT. CHECKING AFTER THE INTERRUPT, WHICH SERIAL
PORT CAUSED IT, CAN BE FAST ENOUGH...


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: