vgaclass.h revision 1.1.1.1.6.2 1 1.1.1.1.6.2 yamt /* $NetBSD: vgaclass.h,v 1.1.1.1.6.2 2014/05/22 11:40:57 yamt Exp $ */
2 1.1.1.1.6.2 yamt
3 1.1.1.1.6.2 yamt #ifndef _VGA_CLASS_H
4 1.1.1.1.6.2 yamt #define _VGA_CLASS_H
5 1.1.1.1.6.2 yamt
6 1.1.1.1.6.2 yamt /*++
7 1.1.1.1.6.2 yamt
8 1.1.1.1.6.2 yamt Copyright (c) 1999 Intel Corporation
9 1.1.1.1.6.2 yamt
10 1.1.1.1.6.2 yamt Module Name:
11 1.1.1.1.6.2 yamt
12 1.1.1.1.6.2 yamt VgaClass.h
13 1.1.1.1.6.2 yamt
14 1.1.1.1.6.2 yamt Abstract:
15 1.1.1.1.6.2 yamt
16 1.1.1.1.6.2 yamt Vga Mini port binding to Vga Class protocol
17 1.1.1.1.6.2 yamt
18 1.1.1.1.6.2 yamt
19 1.1.1.1.6.2 yamt
20 1.1.1.1.6.2 yamt Revision History
21 1.1.1.1.6.2 yamt
22 1.1.1.1.6.2 yamt --*/
23 1.1.1.1.6.2 yamt
24 1.1.1.1.6.2 yamt //
25 1.1.1.1.6.2 yamt // VGA Device Structure
26 1.1.1.1.6.2 yamt //
27 1.1.1.1.6.2 yamt
28 1.1.1.1.6.2 yamt // {0E3D6310-6FE4-11d3-BB81-0080C73C8881}
29 1.1.1.1.6.2 yamt #define VGA_CLASS_DRIVER_PROTOCOL \
30 1.1.1.1.6.2 yamt { 0xe3d6310, 0x6fe4, 0x11d3, {0xbb, 0x81, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
31 1.1.1.1.6.2 yamt
32 1.1.1.1.6.2 yamt typedef
33 1.1.1.1.6.2 yamt EFI_STATUS
34 1.1.1.1.6.2 yamt (* INIT_VGA_CARD) (
35 1.1.1.1.6.2 yamt IN UINTN VgaMode,
36 1.1.1.1.6.2 yamt IN VOID *Context
37 1.1.1.1.6.2 yamt );
38 1.1.1.1.6.2 yamt
39 1.1.1.1.6.2 yamt typedef struct {
40 1.1.1.1.6.2 yamt UINTN MaxColumns;
41 1.1.1.1.6.2 yamt UINTN MaxRows;
42 1.1.1.1.6.2 yamt } MAX_CONSOLE_GEOMETRY;
43 1.1.1.1.6.2 yamt
44 1.1.1.1.6.2 yamt #define VGA_CON_OUT_DEV_SIGNATURE EFI_SIGNATURE_32('c','v','g','a')
45 1.1.1.1.6.2 yamt typedef struct {
46 1.1.1.1.6.2 yamt UINTN Signature;
47 1.1.1.1.6.2 yamt
48 1.1.1.1.6.2 yamt EFI_HANDLE Handle;
49 1.1.1.1.6.2 yamt SIMPLE_TEXT_OUTPUT_INTERFACE ConOut;
50 1.1.1.1.6.2 yamt SIMPLE_TEXT_OUTPUT_MODE ConOutMode;
51 1.1.1.1.6.2 yamt EFI_DEVICE_PATH *DevicePath;
52 1.1.1.1.6.2 yamt
53 1.1.1.1.6.2 yamt UINT8 *Buffer;
54 1.1.1.1.6.2 yamt EFI_DEVICE_IO_INTERFACE *DeviceIo;
55 1.1.1.1.6.2 yamt
56 1.1.1.1.6.2 yamt //
57 1.1.1.1.6.2 yamt // Video Card Context
58 1.1.1.1.6.2 yamt //
59 1.1.1.1.6.2 yamt INIT_VGA_CARD InitVgaCard;
60 1.1.1.1.6.2 yamt VOID *VgaCardContext;
61 1.1.1.1.6.2 yamt MAX_CONSOLE_GEOMETRY *Geometry;
62 1.1.1.1.6.2 yamt //
63 1.1.1.1.6.2 yamt // Video buffer normally 0xb8000
64 1.1.1.1.6.2 yamt //
65 1.1.1.1.6.2 yamt UINT64 VideoBuffer;
66 1.1.1.1.6.2 yamt
67 1.1.1.1.6.2 yamt //
68 1.1.1.1.6.2 yamt // Clear Screen & Default Attribute
69 1.1.1.1.6.2 yamt //
70 1.1.1.1.6.2 yamt UINT32 Attribute;
71 1.1.1.1.6.2 yamt
72 1.1.1.1.6.2 yamt //
73 1.1.1.1.6.2 yamt // -1 means search for active VGA device
74 1.1.1.1.6.2 yamt //
75 1.1.1.1.6.2 yamt EFI_PCI_ADDRESS_UNION Pci;
76 1.1.1.1.6.2 yamt } VGA_CON_OUT_DEV;
77 1.1.1.1.6.2 yamt
78 1.1.1.1.6.2 yamt #define VGA_CON_OUT_DEV_FROM_THIS(a) CR(a, VGA_CON_OUT_DEV, ConOut, VGA_CON_OUT_DEV_SIGNATURE)
79 1.1.1.1.6.2 yamt
80 1.1.1.1.6.2 yamt //
81 1.1.1.1.6.2 yamt // Vga Class Driver Protocol.
82 1.1.1.1.6.2 yamt // GUID defined in EFI Lib
83 1.1.1.1.6.2 yamt //
84 1.1.1.1.6.2 yamt
85 1.1.1.1.6.2 yamt typedef
86 1.1.1.1.6.2 yamt EFI_STATUS
87 1.1.1.1.6.2 yamt (EFIAPI *INSTALL_VGA_DRIVER) (
88 1.1.1.1.6.2 yamt IN VGA_CON_OUT_DEV *ConOutDev
89 1.1.1.1.6.2 yamt );
90 1.1.1.1.6.2 yamt
91 1.1.1.1.6.2 yamt typedef struct {
92 1.1.1.1.6.2 yamt UINT32 Version;
93 1.1.1.1.6.2 yamt INSTALL_VGA_DRIVER InstallGenericVgaDriver;
94 1.1.1.1.6.2 yamt } INSTALL_VGA_DRIVER_INTERFACE;
95 1.1.1.1.6.2 yamt
96 1.1.1.1.6.2 yamt #endif
97 1.1.1.1.6.2 yamt
98