Subject: CVS commit: syssrc/sys
To: None <>
From: Jaromir Dolecek <>
List: source-changes
Date: 07/31/2001 16:15:30
Module Name:	syssrc
Committed By:	jdolecek
Date:		Tue Jul 31 13:15:29 UTC 2001

Modified Files:
	syssrc/sys/arch/i386/isa: pccons.c
	syssrc/sys/dev/ic: pckbc.c

Log Message:
Make console polling (cnpollc/cngetc) work on IBM PS/2 keyboard controller
using level triggered interrupts, which livelocks calling intr routine
if the data register is not read in the interrupt routine, as it's case
when polling after interrupts are enabled during boot.

Block all interrupts when polling for keypress, and modify intr routine
to read and store value from data register. The latter one is to avoid
losing a keypress when one would manage to press a key when kernel is
not in spl-guarded code section.

Tested with classic pccons, 'pcconskbd at pckbc' and 'pckbd at pckbc'
configurations, on i386.

To generate a diff of this commit:
cvs rdiff -r1.148 -r1.149 syssrc/sys/arch/i386/isa/pccons.c
cvs rdiff -r1.14 -r1.15 syssrc/sys/dev/ic/pckbc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.