Subject: Re: pckbc patch
To: =?UNKNOWN?Q?Jarom=EDr?= Dolecek <jdolecek@netbsd.org>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-kern
Date: 05/18/2001 15:00:39
jdolecek@netbsd.org said:
> I'd like to change the pckbc and i386 pccons code to change interrupt
> level to spltty during console keyboard poll

There might be a edge vs. level interrupt issue.
The PS/2 interrupts are level triggered, right? This might
explain that an intrrupt condition persists where it does
not on other machines.
So it seems that this interrupt condition is not cleared
by the kbc status register read which is done even in
polled mode. Can you check this?
Now I'm asking myself why we don't get problems with serial
consoles. There the pollc() is a no-op, so if interrupts are
enabled the interrupt handler should always steal the data
before cngetc() reads them...

spltty() is quite a tough thing... Perhaps it would be better to
disable the interrupts in the device only.
(Your patch assumes btw that cnpoll(1) is always called first.
I'd double-check this. Paranoia.)

best regards
Matthias