git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			114 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| Copyright (c) 2006, 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:
 | |
| 
 | |
|   ExtendedSalBootService.h
 | |
| 
 | |
| Abstract:
 | |
| 
 | |
| --*/
 | |
| 
 | |
| #ifndef _EXTENDED_SAL_PROTOCOL_H_
 | |
| #define _EXTENDED_SAL_PROTOCOL_H_
 | |
| 
 | |
| #define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID   \
 | |
|   {0xde0ee9a4,0x3c7a,0x44f2, {0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}}
 | |
| 
 | |
| #define EXTENDED_SAL_SIGNATURE  EFI_SIGNATURE_32('e', 's', 'a', 'l')
 | |
| 
 | |
| #define SAL_MIN_STATE_SIZE    0x400 * 1
 | |
| #define PAL_SCARTCH_SIZE      0x400 * 3
 | |
| #define ALIGN_MINSTATE_SIZE   512
 | |
| #define MAX_SAL_RECORD_SIZE   8*1024
 | |
| 
 | |
| #define SAL_RUNTIMESERVICE
 | |
| 
 | |
| typedef UINT16    EFI_SAL_PROCESSOR_ID;
 | |
| 
 | |
| typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL EXTENDED_SAL_BOOT_SERVICE_PROTOCOL;
 | |
| 
 | |
| typedef
 | |
| SAL_RUNTIMESERVICE
 | |
| SAL_RETURN_REGS
 | |
| (EFIAPI *SAL_EXTENDED_SAL_PROC) (
 | |
|   IN  EFI_GUID                                    *ClassGuid,
 | |
|   IN   UINT64                                      FunctionId,
 | |
|   IN  UINT64                                      Arg2,
 | |
|   IN  UINT64                                      Arg3,
 | |
|   IN  UINT64                                      Arg4,
 | |
|   IN  UINT64                                      Arg5,
 | |
|   IN  UINT64                                      Arg6,
 | |
|   IN  UINT64                                      Arg7,
 | |
|   IN  UINT64                                      Arg8
 | |
|   );
 | |
| 
 | |
| typedef
 | |
| SAL_RUNTIMESERVICE
 | |
| SAL_RETURN_REGS
 | |
| (EFIAPI *SAL_INTERNAL_EXTENDED_SAL_PROC) (
 | |
|   IN  UINT64                                      FunctionId,
 | |
|   IN  UINT64                                      Arg2,
 | |
|   IN  UINT64                                      Arg3,
 | |
|   IN  UINT64                                      Arg4,
 | |
|   IN  UINT64                                      Arg5,
 | |
|   IN  UINT64                                      Arg6,
 | |
|   IN  UINT64                                      Arg7,
 | |
|   IN  UINT64                                      Arg8,
 | |
|   IN  SAL_EXTENDED_SAL_PROC                       ExtendedSalProc,
 | |
|   IN   BOOLEAN                                     VirtualMode,
 | |
|   IN  VOID                                        *ModuleGlobal
 | |
|   ); 
 | |
| 
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *EXTENDED_SAL_ADD_SST_INFO) (
 | |
|   IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL  *This,
 | |
|   IN  UINT16                                      SalAVersion,
 | |
|   IN   UINT16                                      SalBVersion,
 | |
|   IN  CHAR8                                        *OemId,
 | |
|   IN  CHAR8                                        *ProductId
 | |
|   );
 | |
| 
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *EXTENDED_SAL_ADD_SST_ENTRY) (
 | |
|   IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL  *This,
 | |
|   IN  UINT8                                        EntryType,
 | |
|   IN   UINT8                                        *TableEntry,
 | |
|   IN  UINTN                                        EntrySize
 | |
|   );
 | |
| 
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *EXTENDED_SAL_REGISTER_INTERNAL_PROC) (
 | |
|   IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL  *This,
 | |
|   IN  EFI_GUID                                    *ClassGuid,
 | |
|   IN   UINT64                                      FunctionId,
 | |
|   IN  SAL_INTERNAL_EXTENDED_SAL_PROC              InternalSalProc,
 | |
|   IN  VOID                                        *PhysicalModuleGlobal
 | |
|   );
 | |
| 
 | |
| //
 | |
| // Extended Sal Boot Service Protocol Interface
 | |
| //
 | |
| struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL{
 | |
|   EXTENDED_SAL_ADD_SST_INFO                       AddSalSystemTableInfo;
 | |
|   EXTENDED_SAL_ADD_SST_ENTRY                      AddSalSystemTableEntry;
 | |
|   EXTENDED_SAL_REGISTER_INTERNAL_PROC             AddExtendedSalProc;   
 | |
|   SAL_EXTENDED_SAL_PROC                           ExtendedSalProc;
 | |
|   SAL_PROC                                        SalProc;
 | |
| };
 | |
| 
 | |
| extern EFI_GUID   gEfiExtendedSalBootServiceProtocolGuid;
 | |
| 
 | |
| #endif
 |