mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 20:43:59 +00:00 
			
		
		
		
	 e081218df7
			
		
	
	
		e081218df7
		
	
	
	
	
		
			
			git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3236 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			394 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			394 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| Copyright (c) 2006, Intel Corporation. All rights reserved. 
 | |
| This software and associated documentation (if any) is furnished
 | |
| under a license and may only be used or copied in accordance
 | |
| with the terms of the license. Except as permitted by such
 | |
| license, no part of this software or documentation may be
 | |
| reproduced, stored in a retrieval system, or transmitted in any
 | |
| form or by any means without the express written consent of
 | |
| Intel Corporation.
 | |
| 
 | |
| 
 | |
| Module Name:
 | |
| 
 | |
|     VgaClass.h
 | |
|     
 | |
| Abstract: 
 | |
|     
 | |
| 
 | |
| Revision History
 | |
| --*/
 | |
| 
 | |
| #ifndef _VGA_CLASS_H
 | |
| #define _VGA_CLASS_H
 | |
| 
 | |
| #include <PiDxe.h>
 | |
| #include <FrameworkDxe.h>
 | |
| //
 | |
| // The protocols, PPI and GUID defintions for this module
 | |
| //
 | |
| #include <Protocol/SimpleTextIn.h>
 | |
| #include <Protocol/SimpleTextOut.h>
 | |
| #include <Protocol/PciIo.h>
 | |
| #include <Protocol/VgaMiniPort.h>
 | |
| #include <Protocol/DevicePath.h>
 | |
| //
 | |
| // The Library classes this module consumes
 | |
| //
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/UefiDriverEntryPoint.h>
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/UefiLib.h>
 | |
| #include <Library/DevicePathLib.h>
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| #include <Library/MemoryAllocationLib.h>
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| #include <Library/ReportStatusCodeLib.h>
 | |
| 
 | |
| 
 | |
| #include <IndustryStandard/Pci22.h>
 | |
| #include "ComponentName.h"
 | |
| #include <Protocol/VgaMiniPort.h>
 | |
| 
 | |
| //
 | |
| // VGA specific registers
 | |
| //
 | |
| #define CRTC_CURSOR_START         0xA
 | |
| #define CRTC_CURSOR_END           0xB
 | |
| 
 | |
| #define CRTC_CURSOR_LOCATION_HIGH 0xE
 | |
| #define CRTC_CURSOR_LOCATION_LOW  0xF
 | |
| 
 | |
| #define EFI_MAX_ATTRIBUTE         0x7f
 | |
| 
 | |
| //
 | |
| // VGA Class Device Structure
 | |
| //
 | |
| #define VGA_CLASS_DEV_SIGNATURE EFI_SIGNATURE_32 ('V', 'G', 'A', 'C')
 | |
| 
 | |
| typedef struct {
 | |
|   UINTN                         Signature;
 | |
|   EFI_HANDLE                    Handle;
 | |
|   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  SimpleTextOut;
 | |
|   EFI_SIMPLE_TEXT_OUTPUT_MODE   SimpleTextOutputMode;
 | |
|   EFI_VGA_MINI_PORT_PROTOCOL    *VgaMiniPort;
 | |
|   EFI_PCI_IO_PROTOCOL           *PciIo;
 | |
|   EFI_DEVICE_PATH_PROTOCOL      *DevicePath;
 | |
| } VGA_CLASS_DEV;
 | |
| 
 | |
| #define VGA_CLASS_DEV_FROM_THIS(a)  CR (a, VGA_CLASS_DEV, SimpleTextOut, VGA_CLASS_DEV_SIGNATURE)
 | |
| 
 | |
| //
 | |
| // Global Variables
 | |
| //
 | |
| extern EFI_DRIVER_BINDING_PROTOCOL  gVgaClassDriverBinding;
 | |
| 
 | |
| //
 | |
| // Driver Binding Protocol functions
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassDriverBindingSupported (
 | |
|   IN EFI_DRIVER_BINDING_PROTOCOL   *This,
 | |
|   IN EFI_HANDLE                    Controller,
 | |
|   IN EFI_DEVICE_PATH_PROTOCOL      *RemainingDevicePath
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This                - GC_TODO: add argument description
 | |
|   Controller          - GC_TODO: add argument description
 | |
|   RemainingDevicePath - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassDriverBindingStart (
 | |
|   IN EFI_DRIVER_BINDING_PROTOCOL   *This,
 | |
|   IN EFI_HANDLE                    Controller,
 | |
|   IN EFI_DEVICE_PATH_PROTOCOL      *RemainingDevicePath
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This                - GC_TODO: add argument description
 | |
|   Controller          - GC_TODO: add argument description
 | |
|   RemainingDevicePath - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassDriverBindingStop (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
 | |
|   IN  EFI_HANDLE                   Controller,
 | |
|   IN  UINTN                        NumberOfChildren,
 | |
|   IN  EFI_HANDLE                   *ChildHandleBuffer
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This              - GC_TODO: add argument description
 | |
|   Controller        - GC_TODO: add argument description
 | |
|   NumberOfChildren  - GC_TODO: add argument description
 | |
|   ChildHandleBuffer - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| //
 | |
| // Simple Text Output Protocol functions
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassReset (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  BOOLEAN                      ExtendedVerification
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This                  - GC_TODO: add argument description
 | |
|   ExtendedVerification  - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassOutputString (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  CHAR16                       *WString
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This    - GC_TODO: add argument description
 | |
|   WString - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassTestString (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  CHAR16                       *WString
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This    - GC_TODO: add argument description
 | |
|   WString - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassClearScreen (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This  - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassSetAttribute (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  UINTN                        Attribute
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This      - GC_TODO: add argument description
 | |
|   Attribute - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassSetCursorPosition (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  UINTN                        Column,
 | |
|   IN  UINTN                        Row
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This    - GC_TODO: add argument description
 | |
|   Column  - GC_TODO: add argument description
 | |
|   Row     - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassEnableCursor (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  BOOLEAN                      Visible
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This    - GC_TODO: add argument description
 | |
|   Visible - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassQueryMode (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  UINTN                        ModeNumber,
 | |
|   OUT UINTN                        *Columns,
 | |
|   OUT UINTN                        *Rows
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This        - GC_TODO: add argument description
 | |
|   ModeNumber  - GC_TODO: add argument description
 | |
|   Columns     - GC_TODO: add argument description
 | |
|   Rows        - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VgaClassSetMode (
 | |
|   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
 | |
|   IN  UINTN                        ModeNumber
 | |
|   )
 | |
| /*++
 | |
| 
 | |
| Routine Description:
 | |
| 
 | |
|   GC_TODO: Add function description
 | |
| 
 | |
| Arguments:
 | |
| 
 | |
|   This        - GC_TODO: add argument description
 | |
|   ModeNumber  - GC_TODO: add argument description
 | |
| 
 | |
| Returns:
 | |
| 
 | |
|   GC_TODO: add return values
 | |
| 
 | |
| --*/
 | |
| ;
 | |
| 
 | |
| #endif
 |