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