From: Vojtech Pavlik <vojtech@suse.cz>
To: "David N. Welton" <davidw@eidetix.com>
Cc: Sascha Wilde <wilde@sha-bang.de>,
Dmitry Torokhov <dtor_core@ameritech.net>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: 2.6 kernel won't reboot on AMD system - 8042 problem?
Date: Fri, 13 Aug 2004 14:03:57 +0200 [thread overview]
Message-ID: <20040813120357.GA907@ucw.cz> (raw)
In-Reply-To: <411C944A.3040907@eidetix.com>
On Fri, Aug 13, 2004 at 12:13:30PM +0200, David N. Welton wrote:
> Oh, yep, there we go... that's what's switching it around.
>
> >So I think what happens is that the controller sets the AUXDATA bit for
> >some reason (or at least we read a status byte with the AUXDATA bit
> >set), which negates the value when we read the initial CTR.
>
> >Then when we write that nonsensical CTR back to the controller on
> >reboot, we're screwed, since the i8042 is the more important CPU in the
> >system and can do many nasty things to it. ;)
>
> >Now, the question is, where does that AUXDATA bit come from?
>
> I noticed that the FreeBSD folks attempt to flush both kbd and aux:
>
> http://fxr.watson.org/fxr/source/dev/kbd/atkbdc.c#L790
>
> I tried doing that like so:
>
> while ((i8042_read_status() & (I8042_STR_OBF | I8042_STR_AUXDATA))
> && (i++ < I8042_BUFFER_SIZE)) {
> data = i8042_read_data();
> dbg("%02x <- i8042 (flush, %s)", data,
> i8042_read_status() & I8042_STR_AUXDATA ? "aux" :
> "kbd");
> }
>
> with different variations, and it seems as if it will go on reading
> forever if you let it. So it keeps reporting AUXDATA as being
> present... Hrm...
There is only one queue in the i8042, shared for KBD and AUX. To see if
any data is present, you check the I8042_STR_IBF bit. The
I8042_STR_AUXDATA bit then says which device the data came from.
You can't choose which device you want to read from.
Now I think the problem lies in that that on your i8042 issuing a
command doesn't clear the AUXDATA bit. It's only cleared by data from
the keyboard.
This is likely a bug in you i8042 firmware (or hw, if it's just an
ASIC).
I suppose we can get rid of the checking of data source and negation and
be done with it.
--
Vojtech Pavlik
SuSE Labs, SuSE CR
next prev parent reply other threads:[~2004-08-13 12:02 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-11 14:14 2.6 kernel won't reboot on AMD system - 8042 problem? Dmitry Torokhov
2004-08-11 17:56 ` Sascha Wilde
2004-08-12 17:00 ` David N. Welton
2004-08-12 17:23 ` David N. Welton
2004-08-13 21:29 ` Sascha Wilde
2004-08-12 20:13 ` Vojtech Pavlik
2004-08-13 10:13 ` David N. Welton
2004-08-13 12:03 ` Vojtech Pavlik [this message]
2004-08-13 12:58 ` David N. Welton
[not found] <auto-000000462036@appliedminds.com>
2004-08-09 8:28 ` David N. Welton
2004-08-10 9:37 ` Sascha Wilde
2004-08-10 15:38 ` James Lamanna
[not found] <4112A626.1000706@appliedminds.com>
2004-08-06 8:22 ` David N. Welton
2004-08-06 16:55 ` James Lamanna
2004-08-08 12:18 ` Sascha Wilde
2004-08-08 15:05 ` Dmitry Torokhov
2004-08-11 20:06 ` Sascha Wilde
-- strict thread matches above, loose matches on Subject: below --
2004-07-28 17:51 2.6 kernel won't reboot on AMD system (no, not the BIOS...) David N. Welton
2004-08-05 12:48 ` 2.6 kernel won't reboot on AMD system - 8042 problem? David N. Welton
2004-08-05 19:25 ` Sascha Wilde
2004-08-11 6:31 ` Dmitry Torokhov
2004-08-11 8:36 ` David N. Welton
2004-08-11 12:27 ` Vojtech Pavlik
2004-08-11 12:45 ` David N. Welton
2004-08-11 13:43 ` Sascha Wilde
2004-08-11 14:17 ` Vojtech Pavlik
2004-08-11 13:55 ` David Ford
2004-08-11 20:14 ` Sascha Wilde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040813120357.GA907@ucw.cz \
--to=vojtech@suse.cz \
--cc=davidw@eidetix.com \
--cc=dtor_core@ameritech.net \
--cc=linux-kernel@vger.kernel.org \
--cc=wilde@sha-bang.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.