QEMU_VIDEO_CIRRUS_5446,\r
QEMU_VIDEO_BOCHS,\r
QEMU_VIDEO_BOCHS_MMIO,\r
+ QEMU_VIDEO_VMWARE_SVGA,\r
} QEMU_VIDEO_VARIANT;\r
\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL *GopDevicePath;\r
\r
//\r
- // The next three fields match the client-visible\r
- // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.Mode and\r
- // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.MaxMode fields.\r
+ // The next two fields match the client-visible\r
+ // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.MaxMode field.\r
//\r
- UINTN CurrentMode;\r
UINTN MaxMode;\r
QEMU_VIDEO_MODE_DATA *ModeData;\r
+ EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *VmwareSvgaModeInfo;\r
\r
- UINT8 *LineBuffer;\r
QEMU_VIDEO_VARIANT Variant;\r
FRAME_BUFFER_CONFIGURE *FrameBufferBltConfigure;\r
UINTN FrameBufferBltConfigureSize;\r
+ UINT8 FrameBufferVramBarIndex;\r
+ UINT16 VmwareSvgaBasePort;\r
} QEMU_VIDEO_PRIVATE_DATA;\r
\r
///\r
UINT32 Width;\r
UINT32 Height;\r
UINT32 ColorDepth;\r
- UINT32 RefreshRate;\r
UINT8 *CrtcSettings;\r
UINT16 *SeqSettings;\r
UINT8 MiscSetting;\r
BOOLEAN IsQxl\r
);\r
\r
+EFI_STATUS\r
+QemuVideoVmwareSvgaModeSetup (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private\r
+ );\r
+\r
VOID\r
InstallVbeShim (\r
IN CONST CHAR16 *CardName,\r
IN EFI_PHYSICAL_ADDRESS FrameBufferBase\r
);\r
+\r
+VOID\r
+VmwareSvgaWrite (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private,\r
+ UINT16 Register,\r
+ UINT32 Value\r
+ );\r
+\r
+UINT32\r
+VmwareSvgaRead (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private,\r
+ UINT16 Register\r
+ );\r
+\r
+VOID\r
+InitializeVmwareSvgaGraphicsMode (\r
+ QEMU_VIDEO_PRIVATE_DATA *Private,\r
+ QEMU_VIDEO_BOCHS_MODES *ModeData\r
+ );\r
+\r
#endif\r