]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Protocol/ExtendedSalBootService/ExtendedSalBootService.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Protocol / ExtendedSalBootService / ExtendedSalBootService.h
CommitLineData
3eb9473e 1/*++\r
2\r
f57387d5
HT
3Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 ExtendedSalBootService.h\r
15\r
16Abstract:\r
17\r
18--*/\r
19\r
20#ifndef _EXTENDED_SAL_PROTOCOL_H_\r
21#define _EXTENDED_SAL_PROTOCOL_H_\r
22\r
23#include "SalApi.h"\r
24#include "LinkedList.h"\r
25#include EFI_PROTOCOL_CONSUMER (CpuIo)\r
26\r
27\r
28#define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID \\r
7ccf38a3 29 {0xde0ee9a4,0x3c7a,0x44f2,{0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}}\r
3eb9473e 30\r
31#define EXTENDED_SAL_SIGNATURE EFI_SIGNATURE_32('e', 's', 'a', 'l')\r
32\r
33#define SAL_MIN_STATE_SIZE 0x400 * 1\r
34#define PAL_SCARTCH_SIZE 0x400 * 3\r
35#define ALIGN_MINSTATE_SIZE 512\r
36#define MAX_SAL_RECORD_SIZE 8*1024\r
37\r
38#define SAL_RUNTIMESERVICE\r
39\r
40typedef UINT16 EFI_SAL_PROCESSOR_ID;\r
41\r
42EFI_FORWARD_DECLARATION (EXTENDED_SAL_BOOT_SERVICE_PROTOCOL);\r
43\r
44typedef\r
45SAL_RUNTIMESERVICE\r
46SAL_RETURN_REGS\r
47(EFIAPI *SAL_EXTENDED_SAL_PROC) (\r
48 IN EFI_GUID *ClassGuid,\r
49 IN UINT64 FunctionId,\r
50 IN UINT64 Arg2,\r
51 IN UINT64 Arg3,\r
52 IN UINT64 Arg4,\r
53 IN UINT64 Arg5,\r
54 IN UINT64 Arg6,\r
55 IN UINT64 Arg7,\r
56 IN UINT64 Arg8\r
57 );\r
58\r
59typedef\r
60SAL_RUNTIMESERVICE\r
61SAL_RETURN_REGS\r
62(EFIAPI *SAL_INTERNAL_EXTENDED_SAL_PROC) (\r
63 IN UINT64 FunctionId,\r
64 IN UINT64 Arg2,\r
65 IN UINT64 Arg3,\r
66 IN UINT64 Arg4,\r
67 IN UINT64 Arg5,\r
68 IN UINT64 Arg6,\r
69 IN UINT64 Arg7,\r
70 IN UINT64 Arg8,\r
71 IN SAL_EXTENDED_SAL_PROC ExtendedSalProc,\r
72 IN BOOLEAN VirtualMode,\r
73 IN VOID *ModuleGlobal\r
74 ); \r
75\r
76typedef\r
77EFI_STATUS\r
78(EFIAPI *EXTENDED_SAL_ADD_SST_INFO) (\r
79 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
80 IN UINT16 SalAVersion,\r
81 IN UINT16 SalBVersion,\r
82 IN CHAR8 *OemId,\r
83 IN CHAR8 *ProductId\r
84 );\r
85\r
86typedef\r
87EFI_STATUS\r
88(EFIAPI *EXTENDED_SAL_ADD_SST_ENTRY) (\r
89 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
90 IN UINT8 EntryType,\r
91 IN UINT8 *TableEntry,\r
92 IN UINTN EntrySize\r
93 );\r
94\r
95typedef\r
96EFI_STATUS\r
97(EFIAPI *EXTENDED_SAL_REGISTER_INTERNAL_PROC) (\r
98 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
99 IN EFI_GUID *ClassGuid,\r
100 IN UINT64 FunctionId,\r
101 IN SAL_INTERNAL_EXTENDED_SAL_PROC InternalSalProc,\r
102 IN VOID *PhysicalModuleGlobal\r
103 );\r
104\r
105//\r
106// Extended Sal Boot Service Protocol Interface\r
107//\r
9c092841 108struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL {\r
3eb9473e 109 EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo;\r
110 EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry;\r
111 EXTENDED_SAL_REGISTER_INTERNAL_PROC AddExtendedSalProc; \r
112 SAL_EXTENDED_SAL_PROC ExtendedSalProc;\r
113 SAL_PROC SalProc;\r
9c092841 114};\r
3eb9473e 115\r
116extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid;\r
117\r
118#endif\r