[SeaBIOS] [PATCH v3] pciinit: Enable default VGA device

Paul Menzel paulepanter at users.sourceforge.net
Wed Mar 20 19:05:11 CET 2013


Dear Alex,


Am Mittwoch, den 20.03.2013, 10:58 -0600 schrieb Alex Williamson:
> As QEMU gains PCI bridge and PCIe root port support,

could you give a commit or version for QEMU please.

> we won't always find the VGA device on the root bus.  We therefore
> need to add support to find and enable a VGA device and the path to it
> through the VGA Enable support in the PCI bridge control register.

Just to be sure, did you test this with older QEMU too?

> Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
> ---
> 
> v3: use pci_config_maskw() to trim out some code
> v2: move to qemu specific pciinit.c
> 
>  src/optionroms.c |    2 +-
>  src/pciinit.c    |   40 ++++++++++++++++++++++++++++++++++++++++
>  src/util.h       |    1 +
>  3 files changed, 42 insertions(+), 1 deletion(-)
> 
> diff --git a/src/optionroms.c b/src/optionroms.c
> index caa2151..ac92613 100644
> --- a/src/optionroms.c
> +++ b/src/optionroms.c
> @@ -213,7 +213,7 @@ run_file_roms(const char *prefix, int isvga, u64 *sources)
>   ****************************************************************/
>  
>  // Verify device is a vga device with legacy address decoding enabled.
> -static int
> +int
>  is_pci_vga(struct pci_device *pci)
>  {
>      if (pci->class != PCI_CLASS_DISPLAY_VGA)
> diff --git a/src/pciinit.c b/src/pciinit.c
> index ce0a4cc..bb9355f 100644
> --- a/src/pciinit.c
> +++ b/src/pciinit.c
> @@ -316,6 +316,44 @@ static void pci_bios_init_devices(void)
>      }
>  }
>  
> +static void pci_enable_default_vga(void)
> +{
> +    struct pci_device *pci;
> +
> +    foreachpci(pci) {
> +        if (is_pci_vga(pci)) {
> +            dprintf(1, "PCI: Using %02x:%02x.%x for primary VGA\n",
> +                    pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf),
> +                    pci_bdf_to_fn(pci->bdf));

As this is used several times, a function returning a string with %02x:%
02x.%x would be handy.

> +            return;
> +        }
> +    }

[…]

Acked-by: Paul Menzel <paulepanter at users.sourceforge.net>


Thahks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.seabios.org/pipermail/seabios/attachments/20130320/0d8bfea1/attachment.sig>


More information about the SeaBIOS mailing list