1 1.1 jakllsch /* $NetBSD: vgaclass.h,v 1.1.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