qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] RFC: Primary VGA


From: Alex Williamson
Subject: Re: [Qemu-devel] RFC: Primary VGA
Date: Thu, 28 Feb 2013 08:26:54 -0700

On Thu, 2013-02-28 at 08:50 +0200, Michael S. Tsirkin wrote:
> On Wed, Feb 27, 2013 at 02:16:23PM -0700, Alex Williamson wrote:
> > 
> > When we start adding root ports and bridges to systems we need some
> > concept of a primary VGA device.The differentiation of the primary
> > device is that it's the default one that responds to the Legacy VGA
> > address ranges.  PCs often have a BIOS selection for this.  
> > 
> > Seabios already seems to have some concept of this and looks for a VGA
> > class device for which the parent devices all have VGA routing enabled.
> > This seems to work today if QEMU initializes VGA routing for the path it
> > considers the primary.
> > 
> > The first question is whether this bridge path pre-configuration is what
> > we want to keep as the way QEMU communicates the primary VGA device to
> > Seabios?  Obviously we could switch to some kind of fwcfg interface, but
> > I tend to think what we have is sufficient.
> > 
> > If it is sufficient, then I think we need to rebuild that path on system
> > reset and we need some way to specify which device to use.  One option
> > would be some kind of per PCIDevice property, perhaps "primary_vga".  A
> > downside is that users can abuse it by trying to set it for more than
> > one device.  Maybe a better approach would be to add a machine property
> > for it, -machine primary_vga=$id.
> 
> Yes.  And a command to change it when we support hotplug in the future?

Looking at how this would happen on bare metal, there are ACPI methods
_GPD (Get Post Device), _SPD (Set Post Device), and _VPD (Video Post
Options).  So I imagine that if we supported VGA hotplug we'd use those
to let the guest specify the primary and continue to use an algorithm in
SeaBIOS to post to the lowest B:D.F VGA device if unspecified.  I don't
know that we need some kind of QMP/QAPI runtime command to change the
VGA post device externally on the next boot, real systems likely doesn't
have such a hook.  For now I'll just start with making SeaBIOS have a
way to enable and post the first VGA device when it's behind bridges.
Thanks,

Alex

> > We'll also need some reasonable way
> > to pick a default if unspecified.
> > 
> > Does anyone have any thoughts on managing this?  Thanks,
> > 
> > Alex






reply via email to

[Prev in Thread] Current Thread [Next in Thread]