]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/QemuVideoDxe/Qemu.h
OvmfPkg: PlatformPei: enable larger permanent PEI RAM
[mirror_edk2.git] / OvmfPkg / QemuVideoDxe / Qemu.h
index 343fd347b6866f2ce4f090d0f84c7988944e2603..52ee20d8ba973deb33f04471d32f6f4ccbf97b6c 100644 (file)
@@ -50,7 +50,7 @@
 // QEMU Vide Graphical Mode Data\r
 //\r
 typedef struct {\r
-  UINT32  ModeNumber;\r
+  UINT32  InternalModeIndex; // points into card-specific mode table\r
   UINT32  HorizontalResolution;\r
   UINT32  VerticalResolution;\r
   UINT32  ColorDepth;\r
@@ -90,6 +90,7 @@ typedef enum {
   QEMU_VIDEO_CIRRUS_5430 = 1,\r
   QEMU_VIDEO_CIRRUS_5446,\r
   QEMU_VIDEO_BOCHS,\r
+  QEMU_VIDEO_BOCHS_MMIO,\r
 } QEMU_VIDEO_VARIANT;\r
 \r
 typedef struct {\r
@@ -106,16 +107,22 @@ typedef struct {
   UINT64                                OriginalPciAttributes;\r
   EFI_GRAPHICS_OUTPUT_PROTOCOL          GraphicsOutput;\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
+  //\r
   UINTN                                 CurrentMode;\r
   UINTN                                 MaxMode;\r
   QEMU_VIDEO_MODE_DATA                  *ModeData;\r
+\r
   UINT8                                 *LineBuffer;\r
-  BOOLEAN                               HardwareNeedsStarting;\r
   QEMU_VIDEO_VARIANT                    Variant;\r
 } QEMU_VIDEO_PRIVATE_DATA;\r
 \r
 ///\r
-/// Video Mode structure\r
+/// Card-specific Video Mode structures\r
 ///\r
 typedef struct {\r
   UINT32  Width;\r
@@ -478,6 +485,13 @@ BochsRead (
   UINT16                   Reg\r
   );\r
 \r
+VOID\r
+VgaOutb (\r
+  QEMU_VIDEO_PRIVATE_DATA  *Private,\r
+  UINTN                    Reg,\r
+  UINT8                    Data\r
+  );\r
+\r
 EFI_STATUS\r
 QemuVideoCirrusModeSetup (\r
   QEMU_VIDEO_PRIVATE_DATA  *Private\r
@@ -485,7 +499,13 @@ QemuVideoCirrusModeSetup (
 \r
 EFI_STATUS\r
 QemuVideoBochsModeSetup (\r
-  QEMU_VIDEO_PRIVATE_DATA  *Private\r
+  QEMU_VIDEO_PRIVATE_DATA  *Private,\r
+  BOOLEAN                  IsQxl\r
   );\r
 \r
+VOID\r
+InstallVbeShim (\r
+  IN CONST CHAR16         *CardName,\r
+  IN EFI_PHYSICAL_ADDRESS FrameBufferBase\r
+  );\r
 #endif\r