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
 |