From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Avi Kivity <avi@redhat.com>, Gleb Natapov <gleb@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC] Memory API
Date: Thu, 19 May 2011 20:21:15 +0200 [thread overview]
Message-ID: <4DD55F9B.5040100@web.de> (raw)
In-Reply-To: <4DD55C0A.3020305@codemonkey.ws>
[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]
On 2011-05-19 20:06, Anthony Liguori wrote:
> On 05/19/2011 08:55 AM, Avi Kivity wrote:
>> On 05/19/2011 04:50 PM, Anthony Liguori wrote:
>>>
>>> But the i440fx doesn't register the VGA region. The PIIX3 (ISA bus)
>>> does, so how does it know what the priority of that mapping is?
>>>
>>
>> The PCI bridge also has a say, no?
>
> For legacy VGA memory? That's a good question. I've always assumed
> that legacy VGA memory is handled directly in the chipset by redirecting
> writes to the first VGA adapter it encounters (which usually happens to
> be the builtin one these days).
Nope. It's well defined in the PCI specs that every PCI-PCI bridge can
(or have to? need to check) control the flow of legacy VGA to its
downstream devices.
>
> I'm not sure it's possible to have a VGA device behind a bridge that
> also handles legacy VGA memory because the bridge pretty clearly can
> only have BARs within a certain region of memory (based on the bridge's
> config space).
That's part of my notebook PCI tree, I bet you have something similar:
\-[0000:00]-+-00.0 Intel Corporation Core Processor DRAM Controller
+-01.0-[01]--+-00.0 nVidia Corporation GT216 [Quadro FX 880M]
| \-00.1 nVidia Corporation High Definition Audio Controller
So even this single, though not built-in VGA adapter is behind a bridge.
And if you look closer, you can find:
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: cc000000-cdefffff
Prefetchable memory behind bridge: 00000000ce000000-00000000dfffffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
...
Note that 'VGA+' in BridgeCtl. It allows the NVIDIA adapter to handle
legacy VGA.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
next prev parent reply other threads:[~2011-05-19 18:21 UTC|newest]
Thread overview: 187+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-18 13:12 [Qemu-devel] [RFC] Memory API Avi Kivity
2011-05-18 14:05 ` Jan Kiszka
2011-05-18 14:36 ` Avi Kivity
2011-05-18 15:11 ` Jan Kiszka
2011-05-18 15:17 ` Peter Maydell
2011-05-18 15:30 ` Jan Kiszka
2011-05-18 19:10 ` Anthony Liguori
2011-05-18 19:27 ` Jan Kiszka
2011-05-18 19:34 ` Anthony Liguori
2011-05-18 20:02 ` Alex Williamson
2011-05-18 20:11 ` Jan Kiszka
2011-05-18 20:13 ` Alex Williamson
2011-05-18 20:07 ` Jan Kiszka
2011-05-18 20:41 ` Anthony Liguori
2011-05-19 8:26 ` Gleb Natapov
2011-05-19 8:30 ` Jan Kiszka
2011-05-19 8:44 ` Avi Kivity
2011-05-19 13:59 ` Anthony Liguori
2011-05-19 13:52 ` Anthony Liguori
2011-05-19 13:56 ` Avi Kivity
2011-05-19 13:57 ` Jan Kiszka
2011-05-19 14:04 ` Anthony Liguori
2011-05-19 14:06 ` Jan Kiszka
2011-05-19 14:11 ` Avi Kivity
2011-05-19 18:18 ` Anthony Liguori
2011-05-19 18:50 ` Jan Kiszka
2011-05-19 19:02 ` Anthony Liguori
2011-05-19 19:10 ` Jan Kiszka
2011-05-20 9:15 ` Avi Kivity
2011-05-20 17:30 ` Blue Swirl
2011-05-22 7:23 ` Avi Kivity
2011-05-19 6:31 ` Jan Kiszka
2011-05-19 13:23 ` Anthony Liguori
2011-05-19 13:25 ` Jan Kiszka
2011-05-19 13:26 ` Avi Kivity
2011-05-19 13:35 ` Anthony Liguori
2011-05-19 13:36 ` Jan Kiszka
2011-05-19 13:43 ` Avi Kivity
2011-05-19 13:39 ` Avi Kivity
2011-05-19 8:09 ` Avi Kivity
2011-05-18 15:23 ` Avi Kivity
2011-05-18 15:36 ` Jan Kiszka
2011-05-18 15:42 ` Avi Kivity
2011-05-18 16:00 ` Jan Kiszka
2011-05-18 16:14 ` Avi Kivity
2011-05-18 16:39 ` Jan Kiszka
2011-05-18 16:47 ` Avi Kivity
2011-05-18 17:07 ` Jan Kiszka
2011-05-18 17:15 ` Avi Kivity
2011-05-18 17:40 ` Jan Kiszka
2011-05-18 20:13 ` Richard Henderson
2011-05-19 8:04 ` Avi Kivity
2011-05-19 9:08 ` Gleb Natapov
2011-05-19 9:10 ` Avi Kivity
2011-05-19 9:14 ` Gleb Natapov
2011-05-19 11:44 ` Avi Kivity
2011-05-19 11:54 ` Gleb Natapov
2011-05-19 11:57 ` Jan Kiszka
2011-05-19 11:58 ` Gleb Natapov
2011-05-19 12:02 ` Avi Kivity
2011-05-19 12:21 ` Gleb Natapov
2011-05-19 12:02 ` Jan Kiszka
2011-05-19 11:57 ` Avi Kivity
2011-05-19 12:20 ` Jan Kiszka
2011-05-19 12:50 ` Avi Kivity
2011-05-19 12:58 ` Jan Kiszka
2011-05-19 13:00 ` Avi Kivity
2011-05-19 13:03 ` Jan Kiszka
2011-05-19 13:07 ` Avi Kivity
2011-05-19 13:26 ` Jan Kiszka
2011-05-19 13:30 ` Avi Kivity
2011-05-19 13:43 ` Jan Kiszka
2011-05-19 13:47 ` Avi Kivity
2011-05-19 13:49 ` Anthony Liguori
2011-05-19 13:53 ` Avi Kivity
2011-05-19 14:15 ` Anthony Liguori
2011-05-19 14:20 ` Jan Kiszka
2011-05-19 14:25 ` Anthony Liguori
2011-05-19 14:28 ` Jan Kiszka
2011-05-19 14:31 ` Avi Kivity
2011-05-19 14:37 ` Anthony Liguori
2011-05-19 14:40 ` Avi Kivity
2011-05-19 16:17 ` Gleb Natapov
2011-05-19 16:25 ` Jan Kiszka
2011-05-19 16:28 ` Gleb Natapov
2011-05-19 16:30 ` Jan Kiszka
2011-05-19 16:36 ` Anthony Liguori
2011-05-19 16:49 ` Jan Kiszka
2011-05-19 17:12 ` Gleb Natapov
2011-05-19 18:11 ` Jan Kiszka
2011-05-20 8:58 ` Avi Kivity
2011-05-20 8:56 ` Avi Kivity
2011-05-20 14:51 ` Anthony Liguori
2011-05-20 16:43 ` Olivier Galibert
2011-05-20 17:32 ` Anthony Liguori
2011-05-22 7:36 ` Avi Kivity
2011-05-19 16:43 ` Gleb Natapov
2011-05-19 16:51 ` Jan Kiszka
2011-05-19 16:27 ` Gleb Natapov
2011-05-20 8:59 ` Avi Kivity
2011-05-20 11:57 ` Gleb Natapov
2011-05-22 7:37 ` Avi Kivity
2011-05-22 8:06 ` Gleb Natapov
2011-05-22 8:09 ` Avi Kivity
2011-05-22 8:59 ` Gleb Natapov
2011-05-22 12:26 ` Avi Kivity
2011-05-19 16:32 ` Anthony Liguori
2011-05-19 16:35 ` Jan Kiszka
2011-05-19 16:38 ` Anthony Liguori
2011-05-19 16:50 ` Jan Kiszka
2011-05-20 9:03 ` Avi Kivity
2011-05-20 9:01 ` Avi Kivity
2011-05-20 15:33 ` Anthony Liguori
2011-05-20 15:59 ` Jan Kiszka
2011-05-22 7:38 ` Avi Kivity
2011-05-22 15:42 ` Anthony Liguori
2011-05-19 14:21 ` Avi Kivity
2011-05-19 13:44 ` Anthony Liguori
2011-05-19 13:47 ` Jan Kiszka
2011-05-19 13:50 ` Anthony Liguori
2011-05-19 13:55 ` Jan Kiszka
2011-05-19 13:55 ` Avi Kivity
2011-05-19 18:06 ` Anthony Liguori
2011-05-19 18:21 ` Jan Kiszka [this message]
2011-05-19 13:49 ` Avi Kivity
2011-05-19 9:24 ` Edgar E. Iglesias
2011-05-19 14:49 ` Peter Maydell
2011-05-18 16:33 ` Anthony Liguori
2011-05-18 16:41 ` Avi Kivity
2011-05-18 17:04 ` Anthony Liguori
2011-05-18 17:13 ` Avi Kivity
2011-05-18 16:42 ` Jan Kiszka
2011-05-18 17:05 ` Avi Kivity
2011-05-18 15:14 ` Anthony Liguori
2011-05-18 15:26 ` Avi Kivity
2011-05-18 16:21 ` Avi Kivity
2011-05-18 16:42 ` Jan Kiszka
2011-05-18 16:49 ` Avi Kivity
2011-05-18 17:11 ` Anthony Liguori
2011-05-18 17:38 ` Jan Kiszka
2011-05-18 15:08 ` Anthony Liguori
2011-05-18 15:37 ` Avi Kivity
2011-05-18 19:36 ` Jan Kiszka
2011-05-18 15:47 ` Stefan Weil
2011-05-18 16:06 ` Avi Kivity
2011-05-18 16:51 ` Richard Henderson
2011-05-18 16:53 ` Avi Kivity
2011-05-18 17:03 ` Richard Henderson
2011-05-18 15:58 ` Avi Kivity
2011-05-18 16:26 ` Richard Henderson
2011-05-18 16:37 ` Avi Kivity
2011-05-18 17:17 ` Avi Kivity
2011-05-18 19:40 ` Jan Kiszka
2011-05-19 8:06 ` Avi Kivity
2011-05-19 8:08 ` Jan Kiszka
2011-05-19 8:13 ` Avi Kivity
2011-05-19 8:25 ` Jan Kiszka
2011-05-19 8:43 ` Avi Kivity
2011-05-19 9:24 ` Jan Kiszka
2011-05-19 11:58 ` Avi Kivity
2011-05-19 13:36 ` Anthony Liguori
2011-05-19 13:37 ` Jan Kiszka
2011-05-19 13:41 ` Avi Kivity
2011-05-19 17:39 ` Gleb Natapov
2011-05-19 18:03 ` Anthony Liguori
2011-05-19 18:28 ` Gleb Natapov
2011-05-19 18:33 ` Anthony Liguori
2011-05-19 18:11 ` Jan Kiszka
2011-05-19 18:22 ` Gleb Natapov
2011-05-19 18:27 ` Jan Kiszka
2011-05-19 18:40 ` Gleb Natapov
2011-05-19 18:45 ` Jan Kiszka
2011-05-19 18:50 ` Gleb Natapov
2011-05-19 18:55 ` Jan Kiszka
2011-05-19 19:02 ` Jan Kiszka
2011-05-20 7:23 ` Gleb Natapov
2011-05-20 7:40 ` Jan Kiszka
2011-05-20 11:25 ` Gleb Natapov
2011-05-22 7:50 ` Avi Kivity
2011-05-22 8:41 ` Gleb Natapov
2011-05-22 10:53 ` Jan Kiszka
2011-05-22 11:29 ` Avi Kivity
2011-05-23 8:45 ` Gleb Natapov
2011-05-23 22:29 ` Jamie Lokier
2011-05-20 9:10 ` Avi Kivity
2011-05-20 12:08 ` Gleb Natapov
2011-05-22 7:56 ` Avi Kivity
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=4DD55F9B.5040100@web.de \
--to=jan.kiszka@web.de \
--cc=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=gleb@redhat.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 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.