]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/QemuVideoDxe/Qemu.h
BaseTools: Display both Hex and integer value format of PCD value
[mirror_edk2.git] / OvmfPkg / QemuVideoDxe / Qemu.h
index 5844bc404cef3d6f29744147c98247c99c96fd5c..bc49f867a4ffc7aa6c09f62b81faff483b51d37f 100644 (file)
@@ -56,7 +56,6 @@ typedef struct {
   UINT32  HorizontalResolution;\r
   UINT32  VerticalResolution;\r
   UINT32  ColorDepth;\r
-  UINT32  RefreshRate;\r
 } QEMU_VIDEO_MODE_DATA;\r
 \r
 #define PIXEL_RED_SHIFT   0\r
@@ -93,9 +92,11 @@ typedef enum {
   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
+  UINT8                                 SubClass;\r
   UINT16                                VendorId;\r
   UINT16                                DeviceId;\r
   QEMU_VIDEO_VARIANT                    Variant;\r
@@ -111,18 +112,18 @@ typedef struct {
   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
@@ -132,7 +133,6 @@ typedef struct {
   UINT32  Width;\r
   UINT32  Height;\r
   UINT32  ColorDepth;\r
-  UINT32  RefreshRate;\r
   UINT8   *CrtcSettings;\r
   UINT16  *SeqSettings;\r
   UINT8   MiscSetting;\r
@@ -507,9 +507,34 @@ QemuVideoBochsModeSetup (
   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