Added these drivers: * LegacyBiosDxe * BlockIoDxe * KeyboardDxe * Snp16Dxe * VideoDxe Signed-off-by: jljusten Reviewed-by: mdkinney Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11905 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			103 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
 | 
						|
 | 
						|
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 _IPF_THUNK_H_
 | 
						|
#define _IPF_THUNK_H_
 | 
						|
 | 
						|
#include "LegacyBiosInterface.h"
 | 
						|
#include <IndustryStandard/Sal.h>
 | 
						|
 | 
						|
/**
 | 
						|
  Template of real mode code.
 | 
						|
 | 
						|
  @param  CodeStart          Start address of code.
 | 
						|
  @param  CodeEnd            End address of code
 | 
						|
  @param  ReverseThunkStart  Start of reverse thunk.
 | 
						|
  @param  IntThunk           Low memory thunk.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
RealModeTemplate (
 | 
						|
  OUT UINTN          *CodeStart,
 | 
						|
  OUT UINTN          *CodeEnd,
 | 
						|
  OUT UINTN          *ReverseThunkStart,
 | 
						|
  LOW_MEMORY_THUNK   *IntThunk
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Register physical address of Esal Data Area
 | 
						|
 | 
						|
  @param  ReverseThunkCodeAddress Reverse Thunk Address
 | 
						|
  @param  IntThunkAddress         IntThunk Address
 | 
						|
 | 
						|
  @retval EFI_SUCCESS             ESAL data area set successfully.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EsalSetSalDataArea (
 | 
						|
  IN UINTN    ReverseThunkCodeAddress,
 | 
						|
  IN UINTN    IntThunkAddress
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
 Get address of reverse thunk.
 | 
						|
 | 
						|
 @retval EFI_SAL_SUCCESS  Address of reverse thunk returned successfully.
 | 
						|
 | 
						|
**/
 | 
						|
SAL_RETURN_REGS
 | 
						|
EsalGetReverseThunkAddress (
 | 
						|
  VOID
 | 
						|
  );
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32  Eax;    // 0
 | 
						|
  UINT32  Ecx;    // 4
 | 
						|
  UINT32  Edx;    // 8
 | 
						|
  UINT32  Ebx;    // 12
 | 
						|
  UINT32  Esp;    // 16
 | 
						|
  UINT32  Ebp;    // 20
 | 
						|
  UINT32  Esi;    // 24
 | 
						|
  UINT32  Edi;    // 28
 | 
						|
  UINT32  Eflag;  // 32
 | 
						|
  UINT32  Eip;    // 36
 | 
						|
  UINT16  Cs;     // 40
 | 
						|
  UINT16  Ds;     // 42
 | 
						|
  UINT16  Es;     // 44
 | 
						|
  UINT16  Fs;     // 46
 | 
						|
  UINT16  Gs;     // 48
 | 
						|
  UINT16  Ss;     // 50
 | 
						|
} IPF_DWORD_REGS;
 | 
						|
 | 
						|
/**
 | 
						|
  Entrypoint of IA32 code.
 | 
						|
 | 
						|
  @param  CallTypeData  Data of call type
 | 
						|
  @param  DwordRegister Register set of IA32 general registers
 | 
						|
                        and segment registers
 | 
						|
  @param  StackPointer  Stack pointer.
 | 
						|
  @param  StackSize     Size of stack.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EfiIaEntryPoint (
 | 
						|
  UINT64           CallTypeData,
 | 
						|
  IPF_DWORD_REGS   *DwordRegister,
 | 
						|
  UINT64           StackPointer,
 | 
						|
  UINT64           StackSize
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |