From: Jamie Lokier <jamie@shareable.org>
To: Avi Kivity <avi@redhat.com>
Cc: Jordan Justen <jljusten@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Implement PC port80 debug register.
Date: Mon, 29 Jun 2009 22:53:45 +0100 [thread overview]
Message-ID: <20090629215345.GA7761@shareable.org> (raw)
In-Reply-To: <4A48DF8B.7050606@redhat.com>
Avi Kivity wrote:
> On 06/29/2009 06:26 PM, Jordan Justen wrote:
> >Avi,
> >
> >Well, I am not sure if this it globally the case for PC motherboards,
> >but in my experience, it has been read/write.
>
> It's just some random memory that might not actually be grounded in reality.
It is not memory, and it's not even an I/O port.
On many PCs, at least historically, it resolves to an ISA bus cycle
which no device responds to, and therefore takes about 1 microsecond
with side effects which help some ISA devices (on other I/O ports) to
work. Including 2MHz ISA devices on an 8MHz ISA bus... so it has to
be a port which isn't on the device it's helping :-)
(Good) modern chipsets tend to not need the delay or side effects, but
they emulate the delay anyway.
When an ISA BIOS POST debugging card is plugged in, or if there's one
on the motherboard, then it catches the writes and displays them as
hex on LEDs. That changes the timing and can in principle break some
things...
Some Linux distros write to port 0xed instead of 0x80 now, because
some HP/Compaq laptops break when writing to port 0x80 after ACPI is
enabled. (Silly BIOS bugs). But 0xed breaks some old ISA systems,
because it doesn't have quite the same bus side effects. Enjoy.
> >At least for a system such as qemu, it make it difficult to use the
> >port80 checkpoint of software without being able to read the last
> >value written.
>
> Why would software ever need to read it? You want a monitor command so
> the user can read it. I don't recall ever seeing a read of port 80 (I
> don't have any objections to that though).
Because most ISA PCs don't have anything there, reading won't return
anything interesting. It won't return the value written.
But maybe with a BIOS POST debugging card, and/or maybe with some
chipsets which are emulating the port... I don't know.
-- Jamie
next prev parent reply other threads:[~2009-06-29 21:53 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-29 8:05 [Qemu-devel] [PATCH] Implement PC port80 debug register Jordan Justen
2009-06-29 13:47 ` Anthony Liguori
2009-06-29 14:17 ` Paul Brook
2009-06-29 14:23 ` Avi Kivity
2009-06-29 14:34 ` Chris Lalancette
2009-06-29 15:26 ` Jordan Justen
2009-06-29 15:31 ` Anthony Liguori
2009-06-29 16:07 ` Jordan Justen
2009-06-29 17:11 ` Avi Kivity
2009-06-29 18:39 ` Anthony Liguori
2009-06-29 18:43 ` Avi Kivity
2009-06-29 18:46 ` Alexander Graf
2009-06-29 18:57 ` Avi Kivity
2009-06-29 19:00 ` Jordan Justen
2009-06-29 19:02 ` Jordan Justen
2009-07-01 7:39 ` Jordan Justen
2009-07-09 18:58 ` Anthony Liguori
2009-06-29 15:36 ` Avi Kivity
2009-06-29 21:53 ` Jamie Lokier [this message]
2009-06-29 23:18 ` Carl-Daniel Hailfinger
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=20090629215345.GA7761@shareable.org \
--to=jamie@shareable.org \
--cc=avi@redhat.com \
--cc=jljusten@gmail.com \
--cc=qemu-devel@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).