[SeaBIOS] [RFC PATCH v2] fw/pci: Add support for mapping Intel IGD OpRegion via QEMU
Kevin O'Connor
kevin at koconnor.net
Wed Feb 3 23:09:24 CET 2016
On Wed, Feb 03, 2016 at 02:38:47PM -0700, Alex Williamson wrote:
> On Wed, 2016-02-03 at 12:43 -0700, Alex Williamson wrote:
> > On Wed, 2016-02-03 at 10:04 +0100, Gerd Hoffmann wrote:
> > > Hi,
> > >
> > > > +static void intel_igd_opregion_setup(struct pci_device *dev, void *arg)
> > > > +{
> > > > + struct romfile_s *file = romfile_find("etc/igd-opregion");
> > >
> > > Is it possible to have multiple igd devices in a single machine?
> > > So, should we include the pci address in the file name?
> > >
> > > Guess not needed, it's chipset graphics after all ...
> >
> > Hmm, I think that's probably a pretty good observation, we don't want to
> > revisit this if vGPUs need/want an OpRegion or if Intel decides to start
> > allowing more than one per system. Either could pretty easily introduce
> > multiple into a VM.
>
> Naming is always more complicated than it seems. For anything other
> than a root bus devices, the PCI address doesn't exist until SeaBIOS
> enumerates devices and assigns bus numbers for bridges. So unless we
> want to provide a path to the device like ACPI defines, maybe we should
> just stick with "etc/igd-opregion". It seems easily extensible to add
> more specific files later and default to this one if those aren't found.
Perhaps a simpler solution is to just make sure "etc/igd-opregion" is
only deployed for the "active" VGA device (ie, the device that
is_pci_vga() returns true for). Looks like pci_enable_default_vga()
already has code for something similar.
-Kevin
More information about the SeaBIOS
mailing list