Skip site navigation (1)Skip section navigation (2)
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>