OvmfPkg/QemuVideoDxe: VMWare SVGA device support
authorPhil Dennis-Jordan <phil@philjordan.eu>
Fri, 7 Apr 2017 06:25:58 +0000 (18:25 +1200)
committerLaszlo Ersek <lersek@redhat.com>
Fri, 7 Apr 2017 10:34:11 +0000 (12:34 +0200)
commitc137d95081690d4877fbeb5f1856972e84ac32f2
tree7278e1a3e12ba42bec702a417c81c23a2bd22aaa
parent05a5379458725234de8a05780fcb5da2c12680e4
OvmfPkg/QemuVideoDxe: VMWare SVGA device support

In addition to the QXL, Cirrus, etc. VGA adapters, Qemu also implements
a basic version of VMWare's SVGA display device. Drivers for this
device exist for some guest OSes which do not support Qemu's other
display adapters, so supporting it in OVMF is useful in conjunction
with those OSes.

This change adds support for the SVGA device's framebuffer to
QemuVideoDxe's graphics output protocol implementation, based on
VMWare's documentation. The most basic initialisation, framebuffer
layout query, and mode setting operations are implemented.

The device relies on port-based 32-bit I/O, unfortunately on misaligned
addresses. This limits the driver's support to the x86 family of
platforms.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/QemuVideoDxe/Driver.c
OvmfPkg/QemuVideoDxe/Gop.c
OvmfPkg/QemuVideoDxe/Initialize.c
OvmfPkg/QemuVideoDxe/Qemu.h