3 Copyright (c) 2004, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 ExtendedSalBootService.h
20 #ifndef _EXTENDED_SAL_PROTOCOL_H_
21 #define _EXTENDED_SAL_PROTOCOL_H_
24 #include "LinkedList.h"
25 #include EFI_PROTOCOL_CONSUMER (CpuIo)
28 #define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID \
29 {0xde0ee9a4,0x3c7a,0x44f2,0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}
31 #define EXTENDED_SAL_SIGNATURE EFI_SIGNATURE_32('e', 's', 'a', 'l')
33 #define SAL_MIN_STATE_SIZE 0x400 * 1
34 #define PAL_SCARTCH_SIZE 0x400 * 3
35 #define ALIGN_MINSTATE_SIZE 512
36 #define MAX_SAL_RECORD_SIZE 8*1024
38 #define SAL_RUNTIMESERVICE
40 typedef UINT16 EFI_SAL_PROCESSOR_ID
;
42 EFI_FORWARD_DECLARATION (EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
);
47 (EFIAPI
*SAL_EXTENDED_SAL_PROC
) (
48 IN EFI_GUID
*ClassGuid
,
62 (EFIAPI
*SAL_INTERNAL_EXTENDED_SAL_PROC
) (
71 IN SAL_EXTENDED_SAL_PROC ExtendedSalProc
,
72 IN BOOLEAN VirtualMode
,
78 (EFIAPI
*EXTENDED_SAL_ADD_SST_INFO
) (
79 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
*This
,
80 IN UINT16 SalAVersion
,
81 IN UINT16 SalBVersion
,
88 (EFIAPI
*EXTENDED_SAL_ADD_SST_ENTRY
) (
89 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
*This
,
97 (EFIAPI
*EXTENDED_SAL_REGISTER_INTERNAL_PROC
) (
98 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
*This
,
99 IN EFI_GUID
*ClassGuid
,
100 IN UINT64 FunctionId
,
101 IN SAL_INTERNAL_EXTENDED_SAL_PROC InternalSalProc
,
102 IN VOID
*PhysicalModuleGlobal
106 // Extended Sal Boot Service Protocol Interface
108 typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
{
109 EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo
;
110 EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry
;
111 EXTENDED_SAL_REGISTER_INTERNAL_PROC AddExtendedSalProc
;
112 SAL_EXTENDED_SAL_PROC ExtendedSalProc
;
114 } EXTENDED_SAL_BOOT_SERVICE_PROTOCOL
;
116 extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid
;