+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- ExtendedSalBootService.h\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#ifndef _EXTENDED_SAL_PROTOCOL_H_\r
-#define _EXTENDED_SAL_PROTOCOL_H_\r
-\r
-#include "SalApi.h"\r
-#include "LinkedList.h"\r
-#include EFI_PROTOCOL_CONSUMER (CpuIo)\r
-\r
-\r
-#define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID \\r
- {0xde0ee9a4,0x3c7a,0x44f2,{0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}}\r
-\r
-#define EXTENDED_SAL_SIGNATURE EFI_SIGNATURE_32('e', 's', 'a', 'l')\r
-\r
-#define SAL_MIN_STATE_SIZE 0x400 * 1\r
-#define PAL_SCARTCH_SIZE 0x400 * 3\r
-#define ALIGN_MINSTATE_SIZE 512\r
-#define MAX_SAL_RECORD_SIZE 8*1024\r
-\r
-#define SAL_RUNTIMESERVICE\r
-\r
-typedef UINT16 EFI_SAL_PROCESSOR_ID;\r
-\r
-EFI_FORWARD_DECLARATION (EXTENDED_SAL_BOOT_SERVICE_PROTOCOL);\r
-\r
-typedef\r
-SAL_RUNTIMESERVICE\r
-SAL_RETURN_REGS\r
-(EFIAPI *SAL_EXTENDED_SAL_PROC) (\r
- IN EFI_GUID *ClassGuid,\r
- IN UINT64 FunctionId,\r
- IN UINT64 Arg2,\r
- IN UINT64 Arg3,\r
- IN UINT64 Arg4,\r
- IN UINT64 Arg5,\r
- IN UINT64 Arg6,\r
- IN UINT64 Arg7,\r
- IN UINT64 Arg8\r
- );\r
-\r
-typedef\r
-SAL_RUNTIMESERVICE\r
-SAL_RETURN_REGS\r
-(EFIAPI *SAL_INTERNAL_EXTENDED_SAL_PROC) (\r
- IN UINT64 FunctionId,\r
- IN UINT64 Arg2,\r
- IN UINT64 Arg3,\r
- IN UINT64 Arg4,\r
- IN UINT64 Arg5,\r
- IN UINT64 Arg6,\r
- IN UINT64 Arg7,\r
- IN UINT64 Arg8,\r
- IN SAL_EXTENDED_SAL_PROC ExtendedSalProc,\r
- IN BOOLEAN VirtualMode,\r
- IN VOID *ModuleGlobal\r
- ); \r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EXTENDED_SAL_ADD_SST_INFO) (\r
- IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
- IN UINT16 SalAVersion,\r
- IN UINT16 SalBVersion,\r
- IN CHAR8 *OemId,\r
- IN CHAR8 *ProductId\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EXTENDED_SAL_ADD_SST_ENTRY) (\r
- IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
- IN UINT8 EntryType,\r
- IN UINT8 *TableEntry,\r
- IN UINTN EntrySize\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EXTENDED_SAL_REGISTER_INTERNAL_PROC) (\r
- IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
- IN EFI_GUID *ClassGuid,\r
- IN UINT64 FunctionId,\r
- IN SAL_INTERNAL_EXTENDED_SAL_PROC InternalSalProc,\r
- IN VOID *PhysicalModuleGlobal\r
- );\r
-\r
-//\r
-// Extended Sal Boot Service Protocol Interface\r
-//\r
-struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL {\r
- EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo;\r
- EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry;\r
- EXTENDED_SAL_REGISTER_INTERNAL_PROC AddExtendedSalProc; \r
- SAL_EXTENDED_SAL_PROC ExtendedSalProc;\r
- SAL_PROC SalProc;\r
-};\r
-\r
-extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid;\r
-\r
-#endif\r