Path: utzoo!attcan!uunet!mcvax!hp4nl!botter!star.cs.vu.nl!ast From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Re: Help! Minix 1.3 & PS/2 Model 80 Message-ID: <1975@ast.cs.vu.nl> Date: 26 Jan 89 13:50:27 GMT References: <1023@uvm-gen.UUCP> <1906@ast.cs.vu.nl> <1259@ditsyda.oz> <1941@ast.cs.vu.nl> <1480@ditsyda.oz> Reply-To: ast@cs.vu.nl (Andy Tanenbaum) Organization: VU Informatica, Amsterdam Lines: 17 In article <1480@ditsyda.oz> evans@ditsyda.oz (Bruce Evans) writes: >Interrupt() must be kept short since it runs with interrupts disabled. So I >don't want to have any port_out()s in it (a dozen or so instructions in C >compared with 2 in assembler) or lots of cases to check. Attention to this >detail was one of the things required to boost rs232 performance from 300 >baud to 19200 baud on a 5MHz 8088. Good point. Perhaps it is indeed best to move all the EOI stuff to the tasks instead of the interrupt handlers, since the tasks an run with interrupts enabled. This still leaves us with the question of how to exit from the interrupt handler and not get another interrupt instantly. Whatever solution is chosen should be efficient. Doing a port_out to the 8259 to change the mask is as expensive as doing a port_out to the 8259 for EOI. Andy Tanenbaum (ast@cs.vu.nl)