0x0100,\r
QEMU_VIDEO_BOCHS,\r
L"QEMU QXL VGA"\r
+ },{\r
+ 0x1af4,\r
+ 0x1050,\r
+ QEMU_VIDEO_BOCHS_MMIO,\r
+ L"QEMU VirtIO VGA"\r
},{\r
0 /* end of list */\r
}\r
EFI_TPL OldTpl;\r
EFI_STATUS Status;\r
QEMU_VIDEO_PRIVATE_DATA *Private;\r
+ BOOLEAN IsQxl;\r
EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
ACPI_ADR_DEVICE_PATH AcpiDeviceNode;\r
PCI_TYPE00 Pci;\r
}\r
Private->Variant = Card->Variant;\r
\r
+ //\r
+ // IsQxl is based on the detected Card->Variant, which at a later point might\r
+ // not match Private->Variant.\r
+ //\r
+ IsQxl = (BOOLEAN)(Card->Variant == QEMU_VIDEO_BOCHS);\r
+\r
//\r
// Save original PCI attributes\r
//\r
break;\r
case QEMU_VIDEO_BOCHS_MMIO:\r
case QEMU_VIDEO_BOCHS:\r
- Status = QemuVideoBochsModeSetup (Private);\r
+ Status = QemuVideoBochsModeSetup (Private, IsQxl);\r
break;\r
default:\r
ASSERT (FALSE);\r
goto UninstallGop;\r
}\r
\r
+#if defined MDE_CPU_IA32 || defined MDE_CPU_X64\r
+ if (Private->Variant == QEMU_VIDEO_BOCHS_MMIO ||\r
+ Private->Variant == QEMU_VIDEO_BOCHS) {\r
+ InstallVbeShim (Card->Name, Private->GraphicsOutput.Mode->FrameBufferBase);\r
+ }\r
+#endif\r
+\r
gBS->RestoreTPL (OldTpl);\r
return EFI_SUCCESS;\r
\r