|
@@ -69,6 +69,12 @@ QEMU_VIDEO_CARD gQemuVideoCardList[] = {
|
|
|
0x1050,
|
|
|
QEMU_VIDEO_BOCHS_MMIO,
|
|
|
L"QEMU VirtIO VGA"
|
|
|
+ },{
|
|
|
+ PCI_CLASS_DISPLAY_VGA,
|
|
|
+ 0x15ad,
|
|
|
+ 0x0405,
|
|
|
+ QEMU_VIDEO_VMWARE_SVGA,
|
|
|
+ L"QEMU VMWare SVGA"
|
|
|
},{
|
|
|
0 /* end of list */
|
|
|
}
|
|
@@ -316,6 +322,14 @@ QemuVideoControllerDriverStart (
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //
|
|
|
+ // VMWare SVGA is handled like Bochs (with port IO only).
|
|
|
+ //
|
|
|
+ if (Private->Variant == QEMU_VIDEO_VMWARE_SVGA) {
|
|
|
+ Private->Variant = QEMU_VIDEO_BOCHS;
|
|
|
+ Private->FrameBufferVramBarIndex = PCI_BAR_IDX1;
|
|
|
+ }
|
|
|
+
|
|
|
//
|
|
|
// Check if accessing the bochs interface works.
|
|
|
//
|
|
@@ -764,7 +778,7 @@ ClearScreen (
|
|
|
Private->PciIo->Mem.Write (
|
|
|
Private->PciIo,
|
|
|
EfiPciIoWidthFillUint32,
|
|
|
- 0,
|
|
|
+ Private->FrameBufferVramBarIndex,
|
|
|
0,
|
|
|
0x400000 >> 2,
|
|
|
&Color
|