Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!dartvax!eleazar.dartmouth.edu!stevel From: stevel@eleazar.dartmouth.edu (Steve Ligett) Newsgroups: comp.os.minix Subject: Re: Minix for the PS/2 Message-ID: <12117@dartvax.Dartmouth.EDU> Date: 7 Feb 89 15:09:47 GMT References: <1054@uvm-gen.UUCP> Sender: news@dartvax.Dartmouth.EDU Reply-To: stevel@eleazar.dartmouth.edu (Steve Ligett) Organization: Dartmouth College, Hanover, NH Lines: 36 Ok, there are two methods of handling PS/2 interrupts that I know work: 1. Silence in dividual devices, 2. Mask interrupts in the 8259, a third, sounds good, but I don't recall if anyone has it working: 3. Delay sending EOIs till the interrupt is handled in the device task. Some thoughts I've had. #1 was the most obvious to me, and is easy for all devices that I know about except the floppy disk. IBM has added registers and bits to make it easier than it was (in PCs) for some devices, but has done away with the bit (in the DOR) that made it easy for floppies. In general this method means writing a bit to a register (perhaps reading the reg first and or-ing in the bit). #2 works, but seems like using a sledge hammer to me. #3 sounds the best to me now, and I wish I'd thought of it. For methods 2 and 3 to work well, I think we have to look at setting the 8259 into Special Mask Mode (SSM). Normally, acknowledging an interrupt or masking an interrupt means that all lower level interrupts are masked as well. In SSM, just the level being serviced or masked in inhibited; lower level interrupts are allowed. This would let serial interrupts be recognized when clock, hard disk, or keyboard interrupts are still being handled. (I've just gotten minix 1.2 going on my PC, and am now ready to try to help with 1.3, rather than just provide ideas based on reading databooks.) Steve Ligett steve.ligett@dartmouth.edu or (decvax harvard linus true)!dartvax!steve.ligett