From: Rene Herman <rene.herman@keyaccess.nl>
To: Paul Rolland <rol@as2917.net>
Cc: David Newall <david@davidnewall.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Krzysztof Halasa <khc@pm.waw.pl>, Pavel Machek <pavel@ucw.cz>,
Andi Kleen <andi@firstfloor.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
"David P. Reed" <dpreed@reed.com>,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
rol@witbe.net
Subject: Re: RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops
Date: Tue, 11 Dec 2007 10:50:03 +0100 [thread overview]
Message-ID: <475E5D4B.8020101@keyaccess.nl> (raw)
In-Reply-To: <20071211084059.3d03e11d@tux.DEF.witbe.net>
On 11-12-07 08:40, Paul Rolland wrote:
> Well, if the delay is so much unspecified, what about _reading_ port 0x80 ?
> Will the delay be shorter ?
The delay is completely and fully specified in terms of the ISA/LPC clock
which certainly for anything modern means a fixed, unchanging value
(something very close to 1 us) and even on older PCs that allow some
tweaking just means a delay synced to the actual bus clock which is what the
_p variants should normally want to accomplish.
Yes, as far as I'm aware, an inb() means the same delay but clobbers
register al meaning you need a bloating save/restore sequence around it.
> And if so, what about reading port 0x80 and writing the value back ? inb
> al,0x80 outb 0x80,al
See? Moreover, this also only makes sense if there's in fact something
responding to reads at 0x80 and with port 0x80 being a well-known legacy PC
port, a POST monitor would be just about that and writing to _that_ would
seem unlikely to have any ill effects other than turning your POST board LED
display into a christmas tree. The problem more likely is some piece of
hardware getting upset at LPC bus aborts and your suggestion wouldn't fix that.
In earlier incarnations of this thread it's been reported that various
implementations of the legacy PC timer, DMA controller and PIC needed the
delay but just replacing the outb with a udelay(1) would seem very likely to
have the desired effect also for those.
The only problem with _that_ is that you need a calibrated timing loop first
which means not-very-early boot (ie, not while you try to program the timer
to calibrate the loop for example). Pavel Machek already posted a patch,
although with an overly pessimistic delay value.
The problem here is with an x86-64 machine that very likely does not need
any delay at all in fact. One thing to do would be to make _any_ delay
dependent on 32-bit but given that 64-bit machines can run 32-bit kernels
this doesn't fix things fully, although it probably does in practice.
Keying of DMI for any delay could be possible. But if the simple udelay(1)
just works, all the better.
Rene.
next prev parent reply other threads:[~2007-12-11 9:52 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-06 22:38 RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops David P. Reed
2007-12-07 0:15 ` Alan Cox
2007-12-07 10:44 ` Andi Kleen
2007-12-07 14:50 ` David P. Reed
2007-12-05 11:10 ` Pavel Machek
2007-12-08 0:21 ` Andi Kleen
2007-12-07 14:54 ` Andi Kleen
2007-12-07 15:43 ` Rene Herman
2007-12-07 16:28 ` Rene Herman
2007-12-11 0:31 ` H. Peter Anvin
2007-12-11 5:53 ` H. Peter Anvin
2007-12-07 16:04 ` Alan Cox
2007-12-07 16:31 ` Andi Kleen
2007-12-07 17:19 ` Alan Cox
2007-12-07 18:45 ` Rene Herman
2007-12-07 18:42 ` Alan Cox
2007-12-07 19:25 ` Rene Herman
2007-12-07 21:45 ` Alan Cox
2007-12-08 19:25 ` David P. Reed
2007-12-08 19:50 ` Andi Kleen
2007-12-08 20:47 ` David P. Reed
2007-12-08 21:04 ` Alan Cox
2007-12-08 20:26 ` Alan Cox
2007-12-11 5:58 ` H. Peter Anvin
2007-12-09 5:04 ` Rene Herman
2007-12-09 13:22 ` Pavel Machek
2007-12-11 15:14 ` Lennart Sorensen
2007-12-09 12:54 ` Pavel Machek
2007-12-09 13:41 ` Dr. David Alan Gilbert
2007-12-09 15:54 ` Ondrej Zary
2007-12-09 16:59 ` Andi Kleen
2007-12-09 21:25 ` Pavel Machek
2007-12-09 22:29 ` Alan Cox
2007-12-09 23:22 ` Pavel Machek
2007-12-10 12:02 ` Alan Cox
2007-12-10 4:17 ` Rene Herman
2007-12-10 11:30 ` Krzysztof Halasa
2007-12-10 12:08 ` Rene Herman
2007-12-10 18:02 ` Ondrej Zary
2007-12-11 1:10 ` David Newall
2007-12-11 1:25 ` H. Peter Anvin
2007-12-11 1:42 ` David Newall
2007-12-11 1:46 ` H. Peter Anvin
2007-12-11 1:51 ` H. Peter Anvin
2007-12-11 7:40 ` Paul Rolland
2007-12-11 9:50 ` Rene Herman [this message]
2007-12-11 12:08 ` David Newall
2007-12-11 13:16 ` Rene Herman
2007-12-11 13:32 ` Paul Rolland
2007-12-11 14:15 ` Rene Herman
2007-12-11 15:28 ` Rene Herman
2007-12-11 15:37 ` Paul Rolland
2007-12-11 15:53 ` Rene Herman
2007-12-11 16:58 ` David P. Reed
2007-12-11 17:01 ` Rene Herman
2007-12-11 17:05 ` H. Peter Anvin
2007-12-11 17:32 ` Alan Cox
2007-12-11 19:19 ` David P. Reed
2007-12-11 19:36 ` Pavel Machek
2007-12-11 20:16 ` Alan Cox
2007-12-11 20:27 ` linux-os (Dick Johnson)
2007-12-11 20:34 ` Rene Herman
2007-12-11 21:03 ` David P. Reed
2007-12-11 23:56 ` David P. Reed
2007-12-12 13:11 ` linux-os (Dick Johnson)
2007-12-12 16:12 ` Alan Cox
2007-12-14 14:33 ` Ingo Molnar
2007-12-16 21:26 ` Pavel Machek
2007-12-17 0:02 ` Alan Cox
2007-12-17 0:03 ` Alan Cox
2007-12-17 0:28 ` Pavel Machek
2007-12-17 14:42 ` Ingo Molnar
2007-12-27 10:39 ` Pavel Machek
2007-12-12 19:42 ` Attitude problems David P. Reed
2007-12-12 20:31 ` linux-os (Dick Johnson)
2007-12-14 16:01 ` linux-os (Dick Johnson)
2007-12-11 16:32 ` RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops John Stoffel
2007-12-11 16:40 ` Rene Herman
2007-12-11 13:50 ` David Newall
2007-12-11 14:14 ` Rene Herman
2007-12-11 14:25 ` Alan Cox
2007-12-12 22:18 ` David Newall
2007-12-12 23:00 ` Alan Cox
2007-12-13 13:13 ` David P. Reed
2007-12-13 13:21 ` Alan Cox
2007-12-14 1:50 ` David P. Reed
2007-12-14 15:16 ` Alan Cox
2007-12-11 15:41 ` linux-os (Dick Johnson)
2007-12-11 16:30 ` Andi Kleen
2007-12-11 16:50 ` Rene Herman
2007-12-11 17:00 ` David P. Reed
2007-12-11 17:04 ` Rene Herman
2007-12-11 17:27 ` Rene Herman
2007-12-11 19:18 ` Pavel Machek
2007-12-11 19:16 ` Pavel Machek
2007-12-11 19:59 ` Rene Herman
2007-12-11 19:59 ` Rene Herman
2007-12-11 20:00 ` Rene Herman
2007-12-11 20:00 ` Rene Herman
2007-12-12 20:07 ` More info on port 80 symptoms on MCP51 machine David P. Reed
2007-12-12 20:26 ` Rene Herman
2007-12-12 20:37 ` David P. Reed
2007-12-12 20:58 ` Rene Herman
2007-12-12 21:01 ` Alan Cox
2007-12-12 21:12 ` H. Peter Anvin
2007-12-12 21:29 ` Alan Cox
2007-12-15 22:34 ` Allen Martin
2007-12-15 22:46 ` H. Peter Anvin
2007-12-16 0:46 ` David P. Reed
2007-12-12 21:05 ` H. Peter Anvin
2007-12-14 22:05 ` Chuck Ebbert
2007-12-15 7:22 ` Rene Herman
2007-12-11 13:14 ` RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops Alan Cox
2007-12-11 13:32 ` Andi Kleen
2007-12-11 13:47 ` Pavel Machek
2007-12-11 13:50 ` Andi Kleen
2007-12-14 13:33 ` Ingo Molnar
2007-12-11 6:54 ` Rene Herman
2007-12-11 17:01 ` H. Peter Anvin
[not found] <fa./27SNSh+L5T3iqFNPdHClEu+yT0@ifi.uio.no>
2007-12-07 0:23 ` Robert Hancock
2007-12-07 5:09 ` Rene Herman
2007-12-07 5:54 ` David P. Reed
2007-12-07 7:17 ` Rene Herman
2007-12-07 7:34 ` Rene Herman
2007-12-07 10:49 ` Andi Kleen
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=475E5D4B.8020101@keyaccess.nl \
--to=rene.herman@keyaccess.nl \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andi@firstfloor.org \
--cc=david@davidnewall.com \
--cc=dpreed@reed.com \
--cc=hpa@zytor.com \
--cc=khc@pm.waw.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pavel@ucw.cz \
--cc=rol@as2917.net \
--cc=rol@witbe.net \
--cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox