From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60174) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QN7qZ-0004Co-MM for qemu-devel@nongnu.org; Thu, 19 May 2011 14:21:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QN7qY-0001f4-J4 for qemu-devel@nongnu.org; Thu, 19 May 2011 14:21:19 -0400 Received: from fmmailgate02.web.de ([217.72.192.227]:56343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QN7qY-0001em-5w for qemu-devel@nongnu.org; Thu, 19 May 2011 14:21:18 -0400 Message-ID: <4DD55F9B.5040100@web.de> Date: Thu, 19 May 2011 20:21:15 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <4DD3C5B9.1080908@redhat.com> <4DD3D236.90708@siemens.com> <4DD3D95E.2060105@redhat.com> <4DD3E1B3.3020405@siemens.com> <4DD3E47F.9060104@redhat.com> <4DD3E782.8090208@siemens.com> <4DD3E8D6.6090807@redhat.com> <20110519090851.GD28399@redhat.com> <4DD4DE8E.8030402@redhat.com> <4DD51EAC.4080505@codemonkey.ws> <4DD51F67.2070103@siemens.com> <4DD5202B.8070202@codemonkey.ws> <4DD52155.6060808@redhat.com> <4DD55C0A.3020305@codemonkey.ws> In-Reply-To: <4DD55C0A.3020305@codemonkey.ws> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig146A0F704823EA60193C0B21" Sender: jan.kiszka@web.de Subject: Re: [Qemu-devel] [RFC] Memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Avi Kivity , Gleb Natapov , qemu-devel This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig146A0F704823EA60193C0B21 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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? >=20 > For legacy VGA memory? That's a good question. I've always assumed > that legacy VGA memory is handled directly in the chipset by redirectin= g > 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. >=20 > 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 880= M] | \-00.1 nVidia Corporation High Definition Audi= o 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- ParEr= r- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort- = SERR- TAbort- = Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- =2E.. Note that 'VGA+' in BridgeCtl. It allows the NVIDIA adapter to handle legacy VGA. Jan --------------enig146A0F704823EA60193C0B21 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk3VX5sACgkQitSsb3rl5xRgmQCgmB63ertunxMRYItI38/rZQY7 vE8AoJbYp7woaqGDb07EBvmWeRm/oUZ+ =Jhh3 -----END PGP SIGNATURE----- --------------enig146A0F704823EA60193C0B21--