]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Include/IndustryStandard/LegacyVgaBios.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / LegacyVgaBios.h
CommitLineData
90803342
LE
1/** @file\r
2 Type definitions related to the VBE (VESA BIOS Extension, Int10h AH=4Fh)\r
3 services GET INFORMATION (AL=00h) and GET MODE INFORMATION (AL=01h).\r
4\r
5 For reference, see Ralf Brown's Interrupt List:\r
6 <http://www.cs.cmu.edu/~ralf/files.html>\r
7 <http://www.ctyme.com/rbrown.htm>\r
8\r
9 Copyright (C) 2014, Red Hat, Inc.\r
10\r
b26f0cf9 11 SPDX-License-Identifier: BSD-2-Clause-Patent\r
90803342
LE
12**/\r
13\r
14#ifndef __LEGACY_VGA_BIOS_H__\r
15#define __LEGACY_VGA_BIOS_H__\r
16\r
17#include <Base.h>\r
18\r
19#pragma pack (1)\r
20typedef struct {\r
ac0a286f
MK
21 UINT8 Signature[4];\r
22 UINT16 VesaVersion;\r
23 UINT32 OemNameAddress;\r
24 UINT32 Capabilities;\r
25 UINT32 ModeListAddress;\r
26 UINT16 VideoMem64K;\r
27 UINT16 OemSoftwareVersion;\r
28 UINT32 VendorNameAddress;\r
29 UINT32 ProductNameAddress;\r
30 UINT32 ProductRevAddress;\r
90803342
LE
31} VBE_INFO_BASE;\r
32\r
33typedef struct {\r
ac0a286f
MK
34 VBE_INFO_BASE Base;\r
35 UINT8 Buffer[256 - sizeof (VBE_INFO_BASE)];\r
90803342
LE
36} VBE_INFO;\r
37\r
38typedef struct {\r
ac0a286f
MK
39 UINT16 ModeAttr;\r
40 UINT8 WindowAAttr;\r
41 UINT8 WindowBAttr;\r
42 UINT16 WindowGranularityKB;\r
43 UINT16 WindowSizeKB;\r
44 UINT16 WindowAStartSegment;\r
45 UINT16 WindowBStartSegment;\r
46 UINT32 WindowPositioningAddress;\r
47 UINT16 BytesPerScanLine;\r
48\r
49 UINT16 Width;\r
50 UINT16 Height;\r
51 UINT8 CharCellWidth;\r
52 UINT8 CharCellHeight;\r
53 UINT8 NumPlanes;\r
54 UINT8 BitsPerPixel;\r
55 UINT8 NumBanks;\r
56 UINT8 MemoryModel;\r
57 UINT8 BankSizeKB;\r
58 UINT8 NumImagePagesLessOne;\r
59 UINT8 Vbe3;\r
60\r
61 UINT8 RedMaskSize;\r
62 UINT8 RedMaskPos;\r
63 UINT8 GreenMaskSize;\r
64 UINT8 GreenMaskPos;\r
65 UINT8 BlueMaskSize;\r
66 UINT8 BlueMaskPos;\r
67 UINT8 ReservedMaskSize;\r
68 UINT8 ReservedMaskPos;\r
69 UINT8 DirectColorModeInfo;\r
70\r
71 UINT32 LfbAddress;\r
72 UINT32 OffScreenAddress;\r
73 UINT16 OffScreenSizeKB;\r
74\r
75 UINT16 BytesPerScanLineLinear;\r
76 UINT8 NumImagesLessOneBanked;\r
77 UINT8 NumImagesLessOneLinear;\r
78 UINT8 RedMaskSizeLinear;\r
79 UINT8 RedMaskPosLinear;\r
80 UINT8 GreenMaskSizeLinear;\r
81 UINT8 GreenMaskPosLinear;\r
82 UINT8 BlueMaskSizeLinear;\r
83 UINT8 BlueMaskPosLinear;\r
84 UINT8 ReservedMaskSizeLinear;\r
85 UINT8 ReservedMaskPosLinear;\r
86 UINT32 MaxPixelClockHz;\r
87 UINT8 Reserved[190];\r
90803342 88} VBE_MODE_INFO;\r
e5431045
RC
89\r
90typedef struct {\r
ac0a286f
MK
91 UINT16 ModeAttr;\r
92 UINT8 WindowAAttr;\r
93 UINT8 WindowBAttr;\r
94 UINT16 WindowGranularityKB;\r
95 UINT16 WindowSizeKB;\r
96 UINT16 WindowAStartSegment;\r
97 UINT16 WindowBStartSegment;\r
98 UINT32 WindowPositioningAddress;\r
99 UINT16 BytesPerScanLine;\r
100\r
101 UINT16 Width;\r
102 UINT16 Height;\r
103 UINT8 CharCellWidth;\r
104 UINT8 CharCellHeight;\r
105 UINT8 NumPlanes;\r
106 UINT8 BitsPerPixel;\r
107 UINT8 NumBanks;\r
108 UINT8 MemoryModel;\r
109 UINT8 BankSizeKB;\r
110 UINT8 NumImagePagesLessOne;\r
111 UINT8 Vbe3;\r
112\r
113 UINT8 RedMaskSize;\r
114 UINT8 RedMaskPos;\r
115 UINT8 GreenMaskSize;\r
116 UINT8 GreenMaskPos;\r
117 UINT8 BlueMaskSize;\r
118 UINT8 BlueMaskPos;\r
119 UINT8 ReservedMaskSize;\r
120 UINT8 ReservedMaskPos;\r
121 UINT8 DirectColorModeInfo;\r
122\r
123 UINT32 LfbAddress;\r
124 UINT32 OffScreenAddress;\r
125 UINT16 OffScreenSizeKB;\r
e5431045 126} VBE2_MODE_INFO;\r
90803342
LE
127#pragma pack ()\r
128\r
129#endif\r