// 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
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
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
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