Date: Wed, 13 Nov 1996 22:03:09 +0100 (MET) From: sos@freebsd.org To: bde@zeta.org.au (Bruce Evans) Cc: bde@zeta.org.au, freebsd-current@freebsd.org, jkh@time.cdrom.com, nate@mt.sri.com, wangel@wgrobez1.remote.louisville.edu Subject: Re: your mail Message-ID: <199611132103.WAA09059@ravenock.cybercity.dk> In-Reply-To: <199611131935.GAA13980@godzilla.zeta.org.au> from "Bruce Evans" at Nov 14, 96 06:35:35 am
next in thread | previous in thread | raw e-mail | index | archive | help
In reply to Bruce Evans who wrote:
>
>
> >> - check for psm interrupt and don't poll keyboard if one is pending OR
> >
> >which bits to poll for that ??, and its difficult to know if a keyboard
> >int has been lost already, so who's data is it we're reading...
>
> The psm bit in ipending. We already check the KB_BUF_FULL bit, so there
> should be no races: an IRQ should have occured since there is some data,
> but we haven't processed it because of the spltty(). I hope that IRQs
> are serialized so that ones for the keyboard and the psm don't happen
> concurrently. Then ipending gives lots of information:
>
> ipending & kbd_IRQ && !(ipending & psm_IRQ) => scancode for keyboard
> !(ipending & kbd_IRQ) && ipending & psm_IRQ => scancode for psm
> ipending & kbd_IRQ && ipending & psm_IRQ => can't happen, we hope
> !(ipending & kbd_IRQ) && !(ipending & psm_IRQ) => oops, lost kbd IRQ
Or lost psm IRQ :(
OK, I'll put code in for this and check the results, that might bring
some elight over what happens...
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Søren Schmidt (sos@FreeBSD.org) FreeBSD Core Team
Even more code to hack -- will it ever end
..
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611132103.WAA09059>
