3 Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
4 (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
12 Include file for Windows Host
21 #include "WinInclude.h"
24 #include <IndustryStandard/PeImage.h>
25 #include <Guid/FileInfo.h>
26 #include <Guid/FileSystemInfo.h>
27 #include <Guid/FileSystemVolumeLabelInfo.h>
28 #include <Ppi/EmuThunk.h>
29 #include <Ppi/Reset2.h>
30 #include <Protocol/EmuThunk.h>
31 #include <Protocol/SimpleFileSystem.h>
33 #include <Protocol/EmuBlockIo.h>
34 #include <Protocol/BlockIo.h>
35 #include <Protocol/EmuSnp.h>
37 #include <Library/BaseLib.h>
38 #include <Library/PeCoffLib.h>
39 #include <Library/DebugLib.h>
40 #include <Library/MemoryAllocationLib.h>
41 #include <Library/ThunkPpiList.h>
42 #include <Library/ThunkProtocolList.h>
43 #include <Library/PcdLib.h>
44 #include <Library/PrintLib.h>
45 #include <Library/BaseMemoryLib.h>
46 #include <Library/PeiServicesLib.h>
47 #include <Library/PeCoffExtraActionLib.h>
48 #include <Library/NetLib.h>
50 #define TEMPORARY_RAM_SIZE 0x20000
58 EFI_PHYSICAL_ADDRESS Memory
;
64 SecPeCoffGetEntryPoint (
66 IN OUT VOID
**EntryPoint
71 IN UINTN TemporaryRam
,
72 IN UINTN TemporaryRamSize
,
73 IN VOID
*BootFirmwareVolumeBase
,
74 IN UINTN BootFirmwareVolumeSize
,
75 IN VOID
*SecCorePe32File
81 This is the service to load the SEC Core from the Firmware Volume
84 TemporaryRam - Memory to use for SEC.
85 TemporaryRamSize - Size of Memory to use for SEC
86 BootFirmwareVolumeBase - Start of the Boot FV
87 SecCorePe32File - SEC Core PE32
90 Success means control is transferred and thus we should never return
99 IN OUT EFI_PHYSICAL_ADDRESS
*FdBase
,
100 IN OUT UINT64
*FdSize
107 TODO: Add function description
111 Index - TODO: add argument description
112 FdBase - TODO: add argument description
113 FdSize - TODO: add argument description
117 TODO: add return values
127 IN OUT UINTN
*ReadSize
,
135 TODO: Add function description
139 FileHandle - TODO: add argument description
140 FileOffset - TODO: add argument description
141 ReadSize - TODO: add argument description
142 Buffer - TODO: add argument description
146 TODO: add return values
154 IN UINTN
*StrLen OPTIONAL
161 TODO: Add function description
165 Ascii - TODO: add argument description
166 StrLen - TODO: add argument description
170 TODO: add return values
176 CountSeparatorsInString (
177 IN CONST CHAR16
*String
,
185 TODO: Add function description
189 String - TODO: add argument description
190 Separator - TODO: add argument description
194 TODO: add return values
200 EfiSystemMemoryRange (
201 IN VOID
*MemoryAddress
209 extern EMU_THUNK_PROTOCOL gEmuThunkProtocol
;
210 extern EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo
;
211 extern EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo
;
212 extern EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo
;
213 extern EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo
;