]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/IndustryStandard/LegacyVgaBios.h
OvmfPkg: QemuVideoDxe: Int10h stub for Windows 7 & 2008 (stdvga, QXL)
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / LegacyVgaBios.h
diff --git a/OvmfPkg/Include/IndustryStandard/LegacyVgaBios.h b/OvmfPkg/Include/IndustryStandard/LegacyVgaBios.h
new file mode 100644 (file)
index 0000000..d55d128
--- /dev/null
@@ -0,0 +1,97 @@
+/** @file\r
+  Type definitions related to the VBE (VESA BIOS Extension, Int10h AH=4Fh)\r
+  services GET INFORMATION (AL=00h) and GET MODE INFORMATION (AL=01h).\r
+\r
+  For reference, see Ralf Brown's Interrupt List:\r
+  <http://www.cs.cmu.edu/~ralf/files.html>\r
+  <http://www.ctyme.com/rbrown.htm>\r
+\r
+  Copyright (C) 2014, Red Hat, Inc.\r
+\r
+  This program and the accompanying materials are licensed and made available\r
+  under the terms and conditions of the BSD License which accompanies this\r
+  distribution. The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
+  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef __LEGACY_VGA_BIOS_H__\r
+#define __LEGACY_VGA_BIOS_H__\r
+\r
+#include <Base.h>\r
+\r
+#pragma pack (1)\r
+typedef struct {\r
+  UINT8  Signature[4];\r
+  UINT16 VesaVersion;\r
+  UINT32 OemNameAddress;\r
+  UINT32 Capabilities;\r
+  UINT32 ModeListAddress;\r
+  UINT16 VideoMem64K;\r
+  UINT16 OemSoftwareVersion;\r
+  UINT32 VendorNameAddress;\r
+  UINT32 ProductNameAddress;\r
+  UINT32 ProductRevAddress;\r
+} VBE_INFO_BASE;\r
+\r
+typedef struct {\r
+  VBE_INFO_BASE  Base;\r
+  UINT8          Buffer[256 - sizeof (VBE_INFO_BASE)];\r
+} VBE_INFO;\r
+\r
+typedef struct {\r
+  UINT16 ModeAttr;\r
+  UINT8  WindowAAttr;\r
+  UINT8  WindowBAttr;\r
+  UINT16 WindowGranularityKB;\r
+  UINT16 WindowSizeKB;\r
+  UINT16 WindowAStartSegment;\r
+  UINT16 WindowBStartSegment;\r
+  UINT32 WindowPositioningAddress;\r
+  UINT16 BytesPerScanLine;\r
+\r
+  UINT16 Width;\r
+  UINT16 Height;\r
+  UINT8  CharCellWidth;\r
+  UINT8  CharCellHeight;\r
+  UINT8  NumPlanes;\r
+  UINT8  BitsPerPixel;\r
+  UINT8  NumBanks;\r
+  UINT8  MemoryModel;\r
+  UINT8  BankSizeKB;\r
+  UINT8  NumImagePagesLessOne;\r
+  UINT8  Vbe3;\r
+\r
+  UINT8  RedMaskSize;\r
+  UINT8  RedMaskPos;\r
+  UINT8  GreenMaskSize;\r
+  UINT8  GreenMaskPos;\r
+  UINT8  BlueMaskSize;\r
+  UINT8  BlueMaskPos;\r
+  UINT8  ReservedMaskSize;\r
+  UINT8  ReservedMaskPos;\r
+  UINT8  DirectColorModeInfo;\r
+\r
+  UINT32 LfbAddress;\r
+  UINT32 OffScreenAddress;\r
+  UINT16 OffScreenSizeKB;\r
+\r
+  UINT16 BytesPerScanLineLinear;\r
+  UINT8  NumImagesLessOneBanked;\r
+  UINT8  NumImagesLessOneLinear;\r
+  UINT8  RedMaskSizeLinear;\r
+  UINT8  RedMaskPosLinear;\r
+  UINT8  GreenMaskSizeLinear;\r
+  UINT8  GreenMaskPosLinear;\r
+  UINT8  BlueMaskSizeLinear;\r
+  UINT8  BlueMaskPosLinear;\r
+  UINT8  ReservedMaskSizeLinear;\r
+  UINT8  ReservedMaskPosLinear;\r
+  UINT32 MaxPixelClockHz;\r
+  UINT8  Reserved[190];\r
+} VBE_MODE_INFO;\r
+#pragma pack ()\r
+\r
+#endif\r