audk/OvmfPkg/QemuVideoDxe
Laszlo Ersek 442c2ab81e OvmfPkg/QemuVideoDxe: don't incorrectly bind virtio-gpu-pci
The PCI (Vendor ID, Device ID) pair (0x1af4, 0x1050) stands for both the
virtio-vga and the virtio-gpu-pci device models of QEMU. They differ in
two things:

- the former has a VGA-compatibility linear framebuffer on top of the
  latter,

- the former has PCI_CLASS_DISPLAY_VGA device class, while the latter has
  PCI_CLASS_DISPLAY_OTHER.

In commit 94210dc95e ("OvmfPkg: QemuVideoDxe: add virtio-vga support"),
we enabled QemuVideoDxe to drive virtio-vga simply by adding its (Vendor
ID, Device ID) pair to gQemuVideoCardList. This change inadvertently
allowed QemuVideoDxe to bind virtio-gpu-pci, which it cannot drive though.

Restrict QemuVideoDxe to PCI_CLASS_DISPLAY_VGA, in order to exclude
virtio-gpu-pci. For the other cards that QemuVideoDxe drives, this makes
no difference. (Note that OvmfPkg's PlatformBootManagerLib instance has
always only added PCI_CLASS_DISPLAY_VGA devices to ConOut; see
DetectAndPreparePlatformPciDevicePath().)

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Ref: https://tianocore.acgmultimedia.com/show_bug.cgi?id=66
Fixes: 94210dc95e
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2016-09-01 22:54:33 +02:00
..
ComponentName.c OvmfPkg: Add QemuVideoDxe driver 2011-04-12 15:08:51 +00:00
Driver.c OvmfPkg/QemuVideoDxe: don't incorrectly bind virtio-gpu-pci 2016-09-01 22:54:33 +02:00
DriverSupportedEfiVersion.c OvmfPkg: Add QemuVideoDxe driver 2011-04-12 15:08:51 +00:00
Gop.c OvmfPkg: fix conversion specifiers in DEBUG format strings 2015-07-28 18:33:23 +00:00
Initialize.c OvmfPkg: QemuVideoDxe: work around misreported QXL framebuffer size 2014-08-29 17:27:20 +00:00
Qemu.h OvmfPkg: QemuVideoDxe: work around misreported QXL framebuffer size 2014-08-29 17:27:20 +00:00
QemuVideoDxe.inf OvmfPkg/QemuVideoDxe: enable ARM builds 2015-02-23 16:02:29 +00:00
VbeShim.asm OvmfPkg: QemuVideoDxe: Int10h stub for Windows 7 & 2008 (stdvga, QXL) 2014-05-20 16:33:00 +00:00
VbeShim.c OvmfPkg: QemuVideoDxe: the VBE shim needs no 64-bit shifts (VS2010) 2014-11-14 10:23:55 +00:00
VbeShim.h OvmfPkg: QemuVideoDxe: Int10h stub for Windows 7 & 2008 (stdvga, QXL) 2014-05-20 16:33:00 +00:00
VbeShim.sh OvmfPkg: QemuVideoDxe: Int10h stub for Windows 7 & 2008 (stdvga, QXL) 2014-05-20 16:33:00 +00:00