From 878ddf1fc3540a715f63594ed22b6929e881afb4 Mon Sep 17 00:00:00 2001 From: bbahnsen Date: Fri, 21 Apr 2006 22:54:32 +0000 Subject: Initial import. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Protocol/ExtendedSalBootService.h | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 EdkModulePkg/Include/Protocol/ExtendedSalBootService.h (limited to 'EdkModulePkg/Include/Protocol/ExtendedSalBootService.h') diff --git a/EdkModulePkg/Include/Protocol/ExtendedSalBootService.h b/EdkModulePkg/Include/Protocol/ExtendedSalBootService.h new file mode 100644 index 0000000000..28aceb3758 --- /dev/null +++ b/EdkModulePkg/Include/Protocol/ExtendedSalBootService.h @@ -0,0 +1,113 @@ +/*++ + +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 -- cgit v1.2.3