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