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. -MaximReceived on Thu Apr 22 2010 - 16:28:27 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:03 UTC