git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8950 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   VGA Mini Port Protocol that is used to set the text display mode of a VGA controller.
 | |
| 
 | |
|   Copyright (c) 2006 - 2009, Intel Corporation
 | |
|   All rights reserved. This program and the accompanying materials
 | |
|   are licensed and made available under the terms and conditions of the BSD License
 | |
|   which accompanies this distribution.  The full text of the license may be found at
 | |
|   http://opensource.org/licenses/bsd-license.php
 | |
| 
 | |
|   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
|   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __VGA_MINI_PORT_H_
 | |
| #define __VGA_MINI_PORT_H_
 | |
| 
 | |
| ///
 | |
| /// Global ID for the EFI_VGA_MINI_PORT_PROTOCOL
 | |
| ///
 | |
| #define EFI_VGA_MINI_PORT_PROTOCOL_GUID \
 | |
|   { \
 | |
|     0xc7735a2f, 0x88f5, 0x4882, {0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 } \
 | |
|   }
 | |
| 
 | |
| ///
 | |
| /// Forward declaration for the EFI_VGA_MINI_PORT_PROTOCOL
 | |
| ///
 | |
| typedef struct _EFI_VGA_MINI_PORT_PROTOCOL  EFI_VGA_MINI_PORT_PROTOCOL;
 | |
| 
 | |
| /**
 | |
|   Sets the text display mode of a VGA controller.
 | |
|   
 | |
|   Sets the text display mode of the VGA controller to the mode specified by 
 | |
|   ModeNumber.  A ModeNumber of 0 is a request for an 80x25 text mode.  A 
 | |
|   ModeNumber of 1 is a request for an 80x50 text mode.  If ModeNumber is greater
 | |
|   than MaxModeNumber, then EFI_UNSUPPORTED is returned.  If the VGA controller 
 | |
|   is not functioning properly, then EFI_DEVICE_ERROR is returned.  If the VGA
 | |
|   controller is sucessfully set to the mode number specified by ModeNumber, then 
 | |
|   EFI_SUCCESS is returned.
 | |
|     
 | |
|   @param[in] This         A pointer to the EFI_VGA_MINI_PORT_PROTOCOL instance.
 | |
|   @param[in] ModeNumber   The requested mode number.  0 for 80x25.  1 for 80x5.
 | |
| 
 | |
|   @retval EFI_SUCCESS        The mode number was set
 | |
|   @retval EFI_UNSUPPORTED    The mode number specified by ModeNumber is not supported.
 | |
|   @retval EFI_DEVICE_ERROR   The device is not functioning properly.
 | |
|   
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *EFI_VGA_MINI_PORT_SET_MODE)(
 | |
|   IN EFI_VGA_MINI_PORT_PROTOCOL  *This,
 | |
|   IN UINTN                        ModeNumber
 | |
|   );
 | |
| 
 | |
| struct _EFI_VGA_MINI_PORT_PROTOCOL {
 | |
|   EFI_VGA_MINI_PORT_SET_MODE  SetMode;
 | |
|   ///
 | |
|   /// MMIO base address of the VGA text mode framebuffer.  Typically set to 0xB8000.
 | |
|   ///
 | |
|   UINT64                      VgaMemoryOffset;
 | |
|   ///
 | |
|   /// I/O Port address for the VGA CRTC address register. Typically set to 0x3D4.
 | |
|   ///
 | |
|   UINT64                      CrtcAddressRegisterOffset;
 | |
|   ///
 | |
|   /// I/O Port address for the VGA CRTC data register.  Typically set to 0x3D5.
 | |
|   ///
 | |
|   UINT64                      CrtcDataRegisterOffset;
 | |
|   ///
 | |
|   /// PCI Controller MMIO BAR index of the VGA text mode frame buffer.  Typically 
 | |
|   /// set to EFI_PCI_IO_PASS_THROUGH_BAR
 | |
|   ///
 | |
|   UINT8                       VgaMemoryBar;
 | |
|   ///
 | |
|   /// PCI Controller I/O BAR index of the VGA CRTC address register.  Typically 
 | |
|   /// set to EFI_PCI_IO_PASS_THROUGH_BAR
 | |
|   ///
 | |
|   UINT8                       CrtcAddressRegisterBar;
 | |
|   ///
 | |
|   /// PCI Controller I/O BAR index of the VGA CRTC data register.  Typically set 
 | |
|   /// to EFI_PCI_IO_PASS_THROUGH_BAR
 | |
|   ///
 | |
|   UINT8                       CrtcDataRegisterBar;
 | |
|   ///
 | |
|   /// The maximum number of text modes that this VGA controller supports.
 | |
|   ///
 | |
|   UINT8                       MaxMode;
 | |
| };
 | |
| 
 | |
| extern EFI_GUID gEfiVgaMiniPortProtocolGuid;
 | |
| 
 | |
| #endif
 |