stu@jpusa1.UUCP (03/20/87)
I would like to add drivers for additional ports as com3,4 using ints 11,12 and am stumped concerning the interrupt code. I have the driver working as a polled driver (this is standard 8250 stuff, just like a plain vanilla asynch com1,2 port) but the documentation does not go into any detail on dealing with the system interrupt controller. I assume it needs to be initialized and also need to know if it needs to be re-initialized on receipt of an interrupt. Ditto for the 8250. The ibm technical reference says concerning the 8250 Interrupt Identification Register: The interrupt identification register (IIR), when addressed during chip-select time, freezes the highest priority interrupt pending, and no other interrupts are acknowledged until that particular interrupt is serviced by the processor. What constitutes 'serviced by the processor'? Do you have to reenable or reinitialize something? The supplied driver does the necessary initialization and I get exactly one interrupt with my code. If I take the supplied serial driver out of the link altogether, I can't get any interrupts at all. I'm stumped. I'm aware that a typical dos driver will do a 'non specific end of interrupt' in the interrupt handler and don't know whether that's done by the kernal or also needs to be in my driver code. I do have initialization code for the 8250 Interrupt Enable Register, so I don't think that's the problem. If anyone knows how this works, please e-mail me with an explanation. Thanks in advance. Stu Heiss {gargoyle,ihnp4}!jpusa1!stu -- Stu Heiss {gargoyle,ihnp4}!jpusa1!stu