1. change *.msa to *.inf, and create platform configuration files .dec&.dsc&.fdf to comply with Edk2 build process 2. using PCD mechanism to replace macro. 3. change Sec code to cowork with PI1.0 Pei Core and produce temparory memory ppi. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5380 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			305 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			305 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*++
 | 
						|
 | 
						|
Copyright (c) 2006 - 2008, 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.             
 | 
						|
 | 
						|
Module Name:
 | 
						|
 | 
						|
  UnixUga.h
 | 
						|
 | 
						|
Abstract:
 | 
						|
 | 
						|
  Private data for the Uga driver that is bound to the Unix Thunk protocol 
 | 
						|
 | 
						|
--*/
 | 
						|
 | 
						|
#ifndef _UNIX_UGA_H_
 | 
						|
#define _UNIX_UGA_H_
 | 
						|
 | 
						|
#include "PiDxe.h"
 | 
						|
#include <Guid/EventGroup.h>
 | 
						|
#include <Protocol/SimpleTextIn.h>
 | 
						|
#include <Protocol/UgaDraw.h>
 | 
						|
#include "Protocol/UnixUgaIo.h"
 | 
						|
#include <Library/DebugLib.h>
 | 
						|
#include <Library/BaseLib.h>
 | 
						|
#include <Library/UefiDriverEntryPoint.h>
 | 
						|
#include <Library/UefiLib.h>
 | 
						|
#include <Library/BaseMemoryLib.h>
 | 
						|
#include <Library/MemoryAllocationLib.h>
 | 
						|
#include <Library/UefiBootServicesTableLib.h>
 | 
						|
#include "UnixDxe.h"
 | 
						|
 | 
						|
extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
 | 
						|
extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
 | 
						|
 | 
						|
#define UNIX_UGA_CLASS_NAME       L"UnixUgaWindow"
 | 
						|
 | 
						|
#define UGA_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('S', 'g', 'o', 'N')
 | 
						|
typedef struct {
 | 
						|
  UINT64                      Signature;
 | 
						|
 | 
						|
  EFI_HANDLE                  Handle;
 | 
						|
  EFI_UGA_DRAW_PROTOCOL       UgaDraw;
 | 
						|
  EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;
 | 
						|
 | 
						|
  EFI_UNIX_THUNK_PROTOCOL   *UnixThunk;
 | 
						|
 | 
						|
  EFI_UNICODE_STRING_TABLE    *ControllerNameTable;
 | 
						|
 | 
						|
  //
 | 
						|
  // UGA Private Data for GetMode ()
 | 
						|
  //
 | 
						|
  UINT32                      HorizontalResolution;
 | 
						|
  UINT32                      VerticalResolution;
 | 
						|
  UINT32                      ColorDepth;
 | 
						|
  UINT32                      RefreshRate;
 | 
						|
 | 
						|
  //
 | 
						|
  // UGA Private Data knowing when to start hardware
 | 
						|
  //
 | 
						|
  BOOLEAN                     HardwareNeedsStarting;
 | 
						|
 | 
						|
  CHAR16                      *WindowName;
 | 
						|
 | 
						|
  EFI_UNIX_UGA_IO_PROTOCOL    *UgaIo;
 | 
						|
 | 
						|
} UGA_PRIVATE_DATA;
 | 
						|
 | 
						|
#define UGA_DRAW_PRIVATE_DATA_FROM_THIS(a)  \
 | 
						|
         CR(a, UGA_PRIVATE_DATA, UgaDraw, UGA_PRIVATE_DATA_SIGNATURE)
 | 
						|
 | 
						|
#define UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS(a)  \
 | 
						|
         CR(a, UGA_PRIVATE_DATA, SimpleTextIn, UGA_PRIVATE_DATA_SIGNATURE)
 | 
						|
 | 
						|
//
 | 
						|
// Global Protocol Variables
 | 
						|
//
 | 
						|
extern EFI_DRIVER_BINDING_PROTOCOL  gUnixUgaDriverBinding;
 | 
						|
extern EFI_COMPONENT_NAME_PROTOCOL  gUnixUgaComponentName;
 | 
						|
 | 
						|
//
 | 
						|
// Uga Hardware abstraction internal worker functions
 | 
						|
//
 | 
						|
EFI_STATUS
 | 
						|
UnixUgaSupported (
 | 
						|
  IN  EFI_UNIX_IO_PROTOCOL  *UnixIo
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  UnixIo - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
UnixUgaConstructor (
 | 
						|
  IN  UGA_PRIVATE_DATA    *Private
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  Private - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
UnixUgaDestructor (
 | 
						|
  IN  UGA_PRIVATE_DATA    *Private
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  Private - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
//
 | 
						|
// EFI 1.1 driver model prototypes for Win UNIX UGA
 | 
						|
//
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
UnixUgaInitialize (
 | 
						|
  IN EFI_HANDLE            ImageHandle,
 | 
						|
  IN EFI_SYSTEM_TABLE      *SystemTable
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  ImageHandle - TODO: add argument description
 | 
						|
  SystemTable - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
UnixUgaDriverBindingSupported (
 | 
						|
  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | 
						|
  IN  EFI_HANDLE                      Handle,
 | 
						|
  IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  This                - TODO: add argument description
 | 
						|
  Handle              - TODO: add argument description
 | 
						|
  RemainingDevicePath - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
UnixUgaDriverBindingStart (
 | 
						|
  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | 
						|
  IN  EFI_HANDLE                      Handle,
 | 
						|
  IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  This                - TODO: add argument description
 | 
						|
  Handle              - TODO: add argument description
 | 
						|
  RemainingDevicePath - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
UnixUgaDriverBindingStop (
 | 
						|
  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
 | 
						|
  IN  EFI_HANDLE                   Handle,
 | 
						|
  IN  UINTN                        NumberOfChildren,
 | 
						|
  IN  EFI_HANDLE                   *ChildHandleBuffer
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  This              - TODO: add argument description
 | 
						|
  Handle            - TODO: add argument description
 | 
						|
  NumberOfChildren  - TODO: add argument description
 | 
						|
  ChildHandleBuffer - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
UgaPrivateAddQ (
 | 
						|
  IN  UGA_PRIVATE_DATA    *Private,
 | 
						|
  IN  EFI_INPUT_KEY       Key
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  Private - TODO: add argument description
 | 
						|
  Key     - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
 | 
						|
EFI_STATUS
 | 
						|
UnixUgaInitializeSimpleTextInForWindow (
 | 
						|
  IN  UGA_PRIVATE_DATA    *Private
 | 
						|
  )
 | 
						|
/*++
 | 
						|
 | 
						|
Routine Description:
 | 
						|
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
Arguments:
 | 
						|
 | 
						|
  Private - TODO: add argument description
 | 
						|
 | 
						|
Returns:
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
--*/
 | 
						|
;
 | 
						|
#endif
 |