John Baldwin wrote:
On Thursday 22 April 2010 6:05:04 am Maxim Sobolev wrote:
Maxim Sobolev wrote:
There is already a code to detect non-existing AT keyboard and avoid
attaching atkbd to it. The code is i386-only at the moment, I am trying
to figure out how to modify it so that it works on amd64 as well.
Looks like this huge delay is caused by the inb() being astonishingly
slow, which is not factored by the timeout routines. Reading keyboard
status port once takes about 0.003s! I am not sure if it's common
behaviour of the platform, or something specific to this particular
model. Do you know by any chance?
Well, many BIOSes trigger an SMI# when doing inb/outb to the keyboard ports so
they can emulate a PS/2 keyboard when a USB keyboard is inserted. Do you have
any BIOS options related to the USB legacy compat? I know of the Nehalem
systems I've seen they have a separate option for controlling port 60/64
emulation which we leave disabled by default.
That makes sense. Unfortunately I don't have access to the BIOS
settings. This is a hosted system, and the provider keeps BIOS password
for themselves.
I have a patch that fixes that issue by measuring status register
reading time first and then factoring it in the calculations of the
number of retries:
http://sobomax.sippysoft.com/atkbdc.diff
It also applies the same logic to detect broken/non-existing keyboard
controller to amd64 as we do to the i386. I'd appreciate if you can do a
review.
-Maxim
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"