Re: [PATCH] Disable i8042 checks on Intel Apple Macs

From: Robert Hancock
Date: Fri Jan 22 2010 - 17:33:18 EST

On Fri, Jan 22, 2010 at 11:46 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 01/21/2010 04:26 PM, Robert Hancock wrote:
>>> This is from the changelog when this was introduced:
>>> -------------------------------------------------------------------------
>>> 2005/02/25 21:21:03+01:00 vojtech
>>> input: After testing on real world hardware, it's obvious we can't trust
>>>       ACPIPnP nor PnPBIOS to properly report the existence of a keyboard
>>>       and mouse port in all cases. Some BIOSes hide the ports if no mouse
>>>       or keyboard is connected, causing trouble with eg. KVM switches.
>> If it's just that case (which isn't certain given Vojtech's report),
>> then I think it's reasonable to ignore that by default. If the BIOS
>> decided to hide the controller then our default behavior should be to
>> believe it, with the ability to override that if necessary, not the
>> other way around.
> You think it's reasonable to have the keyboard not work because
> someone's KVM switch was in the wrong position when the system booted?
> Sorry, that's not how the world works.  It's sad that someone had the
> bright idea that things should work that way, but that is definitely a
> regression I wouldn't want to deal with.

I don't imagine most KVM switches would result in this - they usually
emulate the presence of a keyboard and mouse on all ports even if the
input isn't the active one. It could be the reporter had an older
switch that didn't do this.

I expect that it's quite common for the BIOS to disable the controller
if no device is detected, though. I think the idea is to prevent a
useless device from showing up in Device Manager and free up resources
for other devices. Problem is if it does this, we don't really know
what it did other than remove the PNP entry, and whether using the
controller anyway will work safely.

In any case, it's unlikely (though I admit I'm uncertain) that Windows
is going to blindly probe for an 8042 controller if the PNP
information doesn't indicate that one should be there - at least not
if it's using the ACPI HAL. And for this sort of hardware
compatibility issue, doing things differently than Windows does is
ultimately asking for trouble in the long term. It's highly
unreasonable to break that just for an unlikely corner case.

> The only thing that I could think of as a reasonable limit would be to
> not probe these ports if we are booted from EFI/UEFI.  That would cover
> the ia64 case, too.  However, I'm hardly confident that we wouldn't have
> the same class of problems even there.
>        -hpa
> --
> H. Peter Anvin, Intel Open Source Technology Center
> I work for Intel.  I don't speak on their behalf.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at