]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClass.h
PcdIoBlockBaseAddressForIpf is required by IPF platform so need add it back
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / Console / VgaClassDxe / VgaClass.h
CommitLineData
e081218d 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation. All rights reserved. \r
4This software and associated documentation (if any) is furnished\r
5under a license and may only be used or copied in accordance\r
6with the terms of the license. Except as permitted by such\r
7license, no part of this software or documentation may be\r
8reproduced, stored in a retrieval system, or transmitted in any\r
9form or by any means without the express written consent of\r
10Intel Corporation.\r
11\r
12\r
13Module Name:\r
14\r
15 VgaClass.h\r
16 \r
17Abstract: \r
18 \r
19\r
20Revision History\r
21--*/\r
22\r
23#ifndef _VGA_CLASS_H\r
24#define _VGA_CLASS_H\r
25\r
26#include <PiDxe.h>\r
27#include <FrameworkDxe.h>\r
28//\r
29// The protocols, PPI and GUID defintions for this module\r
30//\r
31#include <Protocol/SimpleTextIn.h>\r
32#include <Protocol/SimpleTextOut.h>\r
33#include <Protocol/PciIo.h>\r
34#include <Protocol/VgaMiniPort.h>\r
35#include <Protocol/DevicePath.h>\r
36//\r
37// The Library classes this module consumes\r
38//\r
39#include <Library/DebugLib.h>\r
40#include <Library/UefiDriverEntryPoint.h>\r
41#include <Library/BaseLib.h>\r
42#include <Library/UefiLib.h>\r
43#include <Library/DevicePathLib.h>\r
44#include <Library/BaseMemoryLib.h>\r
45#include <Library/MemoryAllocationLib.h>\r
46#include <Library/UefiBootServicesTableLib.h>\r
47#include <Library/ReportStatusCodeLib.h>\r
48\r
49\r
50#include <IndustryStandard/Pci22.h>\r
51#include "ComponentName.h"\r
52#include <Protocol/VgaMiniPort.h>\r
53\r
54//\r
55// VGA specific registers\r
56//\r
57#define CRTC_CURSOR_START 0xA\r
58#define CRTC_CURSOR_END 0xB\r
59\r
60#define CRTC_CURSOR_LOCATION_HIGH 0xE\r
61#define CRTC_CURSOR_LOCATION_LOW 0xF\r
62\r
63#define EFI_MAX_ATTRIBUTE 0x7f\r
64\r
65//\r
66// VGA Class Device Structure\r
67//\r
68#define VGA_CLASS_DEV_SIGNATURE EFI_SIGNATURE_32 ('V', 'G', 'A', 'C')\r
69\r
70typedef struct {\r
71 UINTN Signature;\r
72 EFI_HANDLE Handle;\r
73 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOut;\r
74 EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
75 EFI_VGA_MINI_PORT_PROTOCOL *VgaMiniPort;\r
76 EFI_PCI_IO_PROTOCOL *PciIo;\r
77 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
78} VGA_CLASS_DEV;\r
79\r
80#define VGA_CLASS_DEV_FROM_THIS(a) CR (a, VGA_CLASS_DEV, SimpleTextOut, VGA_CLASS_DEV_SIGNATURE)\r
81\r
82//\r
83// Global Variables\r
84//\r
85extern EFI_DRIVER_BINDING_PROTOCOL gVgaClassDriverBinding;\r
86\r
87//\r
88// Driver Binding Protocol functions\r
89//\r
90EFI_STATUS\r
91EFIAPI\r
92VgaClassDriverBindingSupported (\r
93 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
94 IN EFI_HANDLE Controller,\r
95 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
96 )\r
97/*++\r
98\r
99Routine Description:\r
100\r
101 GC_TODO: Add function description\r
102\r
103Arguments:\r
104\r
105 This - GC_TODO: add argument description\r
106 Controller - GC_TODO: add argument description\r
107 RemainingDevicePath - GC_TODO: add argument description\r
108\r
109Returns:\r
110\r
111 GC_TODO: add return values\r
112\r
113--*/\r
114;\r
115\r
116EFI_STATUS\r
117EFIAPI\r
118VgaClassDriverBindingStart (\r
119 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
120 IN EFI_HANDLE Controller,\r
121 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
122 )\r
123/*++\r
124\r
125Routine Description:\r
126\r
127 GC_TODO: Add function description\r
128\r
129Arguments:\r
130\r
131 This - GC_TODO: add argument description\r
132 Controller - GC_TODO: add argument description\r
133 RemainingDevicePath - GC_TODO: add argument description\r
134\r
135Returns:\r
136\r
137 GC_TODO: add return values\r
138\r
139--*/\r
140;\r
141\r
142EFI_STATUS\r
143EFIAPI\r
144VgaClassDriverBindingStop (\r
145 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
146 IN EFI_HANDLE Controller,\r
147 IN UINTN NumberOfChildren,\r
148 IN EFI_HANDLE *ChildHandleBuffer\r
149 )\r
150/*++\r
151\r
152Routine Description:\r
153\r
154 GC_TODO: Add function description\r
155\r
156Arguments:\r
157\r
158 This - GC_TODO: add argument description\r
159 Controller - GC_TODO: add argument description\r
160 NumberOfChildren - GC_TODO: add argument description\r
161 ChildHandleBuffer - GC_TODO: add argument description\r
162\r
163Returns:\r
164\r
165 GC_TODO: add return values\r
166\r
167--*/\r
168;\r
169\r
170//\r
171// Simple Text Output Protocol functions\r
172//\r
173EFI_STATUS\r
174EFIAPI\r
175VgaClassReset (\r
176 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
177 IN BOOLEAN ExtendedVerification\r
178 )\r
179/*++\r
180\r
181Routine Description:\r
182\r
183 GC_TODO: Add function description\r
184\r
185Arguments:\r
186\r
187 This - GC_TODO: add argument description\r
188 ExtendedVerification - GC_TODO: add argument description\r
189\r
190Returns:\r
191\r
192 GC_TODO: add return values\r
193\r
194--*/\r
195;\r
196\r
197EFI_STATUS\r
198EFIAPI\r
199VgaClassOutputString (\r
200 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
201 IN CHAR16 *WString\r
202 )\r
203/*++\r
204\r
205Routine Description:\r
206\r
207 GC_TODO: Add function description\r
208\r
209Arguments:\r
210\r
211 This - GC_TODO: add argument description\r
212 WString - GC_TODO: add argument description\r
213\r
214Returns:\r
215\r
216 GC_TODO: add return values\r
217\r
218--*/\r
219;\r
220\r
221EFI_STATUS\r
222EFIAPI\r
223VgaClassTestString (\r
224 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
225 IN CHAR16 *WString\r
226 )\r
227/*++\r
228\r
229Routine Description:\r
230\r
231 GC_TODO: Add function description\r
232\r
233Arguments:\r
234\r
235 This - GC_TODO: add argument description\r
236 WString - GC_TODO: add argument description\r
237\r
238Returns:\r
239\r
240 GC_TODO: add return values\r
241\r
242--*/\r
243;\r
244\r
245EFI_STATUS\r
246EFIAPI\r
247VgaClassClearScreen (\r
248 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This\r
249 )\r
250/*++\r
251\r
252Routine Description:\r
253\r
254 GC_TODO: Add function description\r
255\r
256Arguments:\r
257\r
258 This - GC_TODO: add argument description\r
259\r
260Returns:\r
261\r
262 GC_TODO: add return values\r
263\r
264--*/\r
265;\r
266\r
267EFI_STATUS\r
268EFIAPI\r
269VgaClassSetAttribute (\r
270 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
271 IN UINTN Attribute\r
272 )\r
273/*++\r
274\r
275Routine Description:\r
276\r
277 GC_TODO: Add function description\r
278\r
279Arguments:\r
280\r
281 This - GC_TODO: add argument description\r
282 Attribute - GC_TODO: add argument description\r
283\r
284Returns:\r
285\r
286 GC_TODO: add return values\r
287\r
288--*/\r
289;\r
290\r
291EFI_STATUS\r
292EFIAPI\r
293VgaClassSetCursorPosition (\r
294 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
295 IN UINTN Column,\r
296 IN UINTN Row\r
297 )\r
298/*++\r
299\r
300Routine Description:\r
301\r
302 GC_TODO: Add function description\r
303\r
304Arguments:\r
305\r
306 This - GC_TODO: add argument description\r
307 Column - GC_TODO: add argument description\r
308 Row - GC_TODO: add argument description\r
309\r
310Returns:\r
311\r
312 GC_TODO: add return values\r
313\r
314--*/\r
315;\r
316\r
317EFI_STATUS\r
318EFIAPI\r
319VgaClassEnableCursor (\r
320 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
321 IN BOOLEAN Visible\r
322 )\r
323/*++\r
324\r
325Routine Description:\r
326\r
327 GC_TODO: Add function description\r
328\r
329Arguments:\r
330\r
331 This - GC_TODO: add argument description\r
332 Visible - GC_TODO: add argument description\r
333\r
334Returns:\r
335\r
336 GC_TODO: add return values\r
337\r
338--*/\r
339;\r
340\r
341EFI_STATUS\r
342EFIAPI\r
343VgaClassQueryMode (\r
344 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
345 IN UINTN ModeNumber,\r
346 OUT UINTN *Columns,\r
347 OUT UINTN *Rows\r
348 )\r
349/*++\r
350\r
351Routine Description:\r
352\r
353 GC_TODO: Add function description\r
354\r
355Arguments:\r
356\r
357 This - GC_TODO: add argument description\r
358 ModeNumber - GC_TODO: add argument description\r
359 Columns - GC_TODO: add argument description\r
360 Rows - GC_TODO: add argument description\r
361\r
362Returns:\r
363\r
364 GC_TODO: add return values\r
365\r
366--*/\r
367;\r
368\r
369EFI_STATUS\r
370EFIAPI\r
371VgaClassSetMode (\r
372 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
373 IN UINTN ModeNumber\r
374 )\r
375/*++\r
376\r
377Routine Description:\r
378\r
379 GC_TODO: Add function description\r
380\r
381Arguments:\r
382\r
383 This - GC_TODO: add argument description\r
384 ModeNumber - GC_TODO: add argument description\r
385\r
386Returns:\r
387\r
388 GC_TODO: add return values\r
389\r
390--*/\r
391;\r
392\r
393#endif\r