[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100125163433.GB31957@suse.cz>
Date: Mon, 25 Jan 2010 17:34:33 +0100
From: Vojtech Pavlik <vojtech@...e.cz>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Robert Hancock <hancockrwd@...il.com>,
Bastien Nocera <hadess@...ess.net>,
linux-kernel <linux-kernel@...r.kernel.org>, pjones@...hat.com
Subject: Re: [PATCH] Disable i8042 checks on Intel Apple Macs
On Thu, Jan 21, 2010 at 02:17:01PM -0800, Dmitry Torokhov 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.
>
> The i8042 driver now does read-only probing first, which should
> not cause any problems even if an i8042 controller really is not
> present.
>
> However, on IA64 we still need to trust ACPI, since legacy-free
> hardware is common there and invalid port accesses cause exceptions.
>
> Signed-off-by: Vojtech Pavlik <vojtech@...e.cz>
>
> >> Input: Add ACPI-based i8042 keyboard and aux controller enumeration;
> > > can be disabled by passing i8042.noacpi as a boot parameter.
> >
> > On a whim I decided to turn on ACPI, only to discover that my keyboard
> > no longer worked. Passing i8042.noacpi=1 makes it work again.
> > Attached please find boot messages with and without the boot
> > parameter. Inlined below is a diff of the two.
>
> --------------------------------------------------------------------------
>
> I'm adding Vojtech in case he manages to recall what other failures he
> has seen.
I don't think I can really recall what other problems we've had back
then, but I do remember it was quite an avalanche of mails that I've
started receiving after enabling the PnPBIOS/ACPIPnP probing and
trusting it fully.
Now, from the hardware point of view it doesn't make much sense for the
BIOS to hide/disable the i8042 controller, as both the keyboard IRQ and
the 0x60-0x6f address space are reserved for it (since the IBM PC/AT
times) and no other hardware can make use of those on an x86
architecture.
And this means that even on a Mac there should be no hardware present on
these addresses if there is no i8042 and Apple is claiming x86
compatibility.
Thus I believe that the right fix here is to figure out why the accesses
to the ports 0x60/0x64 take a long time or forever on a Mac. Is it just
that the kernel is timing out waiting for the i8042? Or is it something
more sinister?
--
Vojtech Pavlik
Director SuSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists