Subversion Repositories HelenOS

Rev

Blame | Last modification | View Log | Download | RSS feed

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