]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Include/Protocol/ExtendedSalBootService.h
Fix some cleanall issues
[mirror_edk2.git] / EdkModulePkg / Include / Protocol / ExtendedSalBootService.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
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#define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID \\r
24 {0xde0ee9a4,0x3c7a,0x44f2, {0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}}\r
25\r
26#define EXTENDED_SAL_SIGNATURE EFI_SIGNATURE_32('e', 's', 'a', 'l')\r
27\r
28#define SAL_MIN_STATE_SIZE 0x400 * 1\r
29#define PAL_SCARTCH_SIZE 0x400 * 3\r
30#define ALIGN_MINSTATE_SIZE 512\r
31#define MAX_SAL_RECORD_SIZE 8*1024\r
32\r
33#define SAL_RUNTIMESERVICE\r
34\r
35typedef UINT16 EFI_SAL_PROCESSOR_ID;\r
36\r
37typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL EXTENDED_SAL_BOOT_SERVICE_PROTOCOL;\r
38\r
39typedef\r
40SAL_RUNTIMESERVICE\r
41SAL_RETURN_REGS\r
42(EFIAPI *SAL_EXTENDED_SAL_PROC) (\r
43 IN EFI_GUID *ClassGuid,\r
44 IN UINT64 FunctionId,\r
45 IN UINT64 Arg2,\r
46 IN UINT64 Arg3,\r
47 IN UINT64 Arg4,\r
48 IN UINT64 Arg5,\r
49 IN UINT64 Arg6,\r
50 IN UINT64 Arg7,\r
51 IN UINT64 Arg8\r
52 );\r
53\r
54typedef\r
55SAL_RUNTIMESERVICE\r
56SAL_RETURN_REGS\r
57(EFIAPI *SAL_INTERNAL_EXTENDED_SAL_PROC) (\r
58 IN UINT64 FunctionId,\r
59 IN UINT64 Arg2,\r
60 IN UINT64 Arg3,\r
61 IN UINT64 Arg4,\r
62 IN UINT64 Arg5,\r
63 IN UINT64 Arg6,\r
64 IN UINT64 Arg7,\r
65 IN UINT64 Arg8,\r
66 IN SAL_EXTENDED_SAL_PROC ExtendedSalProc,\r
67 IN BOOLEAN VirtualMode,\r
68 IN VOID *ModuleGlobal\r
69 ); \r
70\r
71typedef\r
72EFI_STATUS\r
73(EFIAPI *EXTENDED_SAL_ADD_SST_INFO) (\r
74 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
75 IN UINT16 SalAVersion,\r
76 IN UINT16 SalBVersion,\r
77 IN CHAR8 *OemId,\r
78 IN CHAR8 *ProductId\r
79 );\r
80\r
81typedef\r
82EFI_STATUS\r
83(EFIAPI *EXTENDED_SAL_ADD_SST_ENTRY) (\r
84 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
85 IN UINT8 EntryType,\r
86 IN UINT8 *TableEntry,\r
87 IN UINTN EntrySize\r
88 );\r
89\r
90typedef\r
91EFI_STATUS\r
92(EFIAPI *EXTENDED_SAL_REGISTER_INTERNAL_PROC) (\r
93 IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,\r
94 IN EFI_GUID *ClassGuid,\r
95 IN UINT64 FunctionId,\r
96 IN SAL_INTERNAL_EXTENDED_SAL_PROC InternalSalProc,\r
97 IN VOID *PhysicalModuleGlobal\r
98 );\r
99\r
100//\r
101// Extended Sal Boot Service Protocol Interface\r
102//\r
103struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL{\r
104 EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo;\r
105 EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry;\r
106 EXTENDED_SAL_REGISTER_INTERNAL_PROC AddExtendedSalProc; \r
107 SAL_EXTENDED_SAL_PROC ExtendedSalProc;\r
108 SAL_PROC SalProc;\r
109};\r
110\r
111extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid;\r
112\r
113#endif\r