3 Copyright (c) 2006 - 2018, 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
20 #include "WinInclude.h"
23 #include <IndustryStandard/PeImage.h>
24 #include <Guid/FileInfo.h>
25 #include <Guid/FileSystemInfo.h>
26 #include <Guid/FileSystemVolumeLabelInfo.h>
27 #include <Ppi/EmuThunk.h>
28 #include <Protocol/EmuThunk.h>
29 #include <Protocol/SimpleFileSystem.h>
31 #include <Protocol/EmuBlockIo.h>
32 #include <Protocol/BlockIo.h>
33 #include <Protocol/EmuSnp.h>
35 #include <Library/BaseLib.h>
36 #include <Library/PeCoffLib.h>
37 #include <Library/DebugLib.h>
38 #include <Library/MemoryAllocationLib.h>
39 #include <Library/ThunkPpiList.h>
40 #include <Library/ThunkProtocolList.h>
41 #include <Library/PcdLib.h>
42 #include <Library/PrintLib.h>
43 #include <Library/BaseMemoryLib.h>
44 #include <Library/PeiServicesLib.h>
45 #include <Library/PeCoffExtraActionLib.h>
46 #include <Library/NetLib.h>
49 #define TEMPORARY_RAM_SIZE 0x20000
57 EFI_PHYSICAL_ADDRESS Memory
;
63 SecPeCoffGetEntryPoint (
65 IN OUT VOID
**EntryPoint
70 IN UINTN TemporaryRam
,
71 IN UINTN TemporaryRamSize
,
72 IN VOID
*BootFirmwareVolumeBase
,
73 IN UINTN BootFirmwareVolumeSize
,
74 IN VOID
*SecCorePe32File
79 This is the service to load the SEC Core from the Firmware Volume
82 TemporaryRam - Memory to use for SEC.
83 TemporaryRamSize - Size of Memory to use for SEC
84 BootFirmwareVolumeBase - Start of the Boot FV
85 SecCorePe32File - SEC Core PE32
88 Success means control is transferred and thus we should never return
97 IN OUT EFI_PHYSICAL_ADDRESS
*FdBase
,
104 TODO: Add function description
108 Index - TODO: add argument description
109 FdBase - TODO: add argument description
110 FdSize - TODO: add argument description
114 TODO: add return values
125 IN OUT UINTN
*ReadSize
,
132 TODO: Add function description
136 FileHandle - TODO: add argument description
137 FileOffset - TODO: add argument description
138 ReadSize - TODO: add argument description
139 Buffer - TODO: add argument description
143 TODO: add return values
151 IN UINTN
*StrLen OPTIONAL
157 TODO: Add function description
161 Ascii - TODO: add argument description
162 StrLen - TODO: add argument description
166 TODO: add return values
172 CountSeparatorsInString (
173 IN CONST CHAR16
*String
,
180 TODO: Add function description
184 String - TODO: add argument description
185 Separator - TODO: add argument description
189 TODO: add return values
195 EfiSystemMemoryRange (
196 IN VOID
*MemoryAddress
202 extern EMU_THUNK_PROTOCOL gEmuThunkProtocol
;
203 extern EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo
;
204 extern EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo
;
205 extern EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo
;
206 extern EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo
;