3 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
4 SPDX-License-Identifier: BSD-2-Clause-Patent
11 Include file for Windows Host
19 #include "WinInclude.h"
22 #include <IndustryStandard/PeImage.h>
23 #include <Guid/FileInfo.h>
24 #include <Guid/FileSystemInfo.h>
25 #include <Guid/FileSystemVolumeLabelInfo.h>
26 #include <Ppi/EmuThunk.h>
27 #include <Protocol/EmuThunk.h>
28 #include <Protocol/SimpleFileSystem.h>
30 #include <Protocol/EmuBlockIo.h>
31 #include <Protocol/BlockIo.h>
33 #include <Library/BaseLib.h>
34 #include <Library/PeCoffLib.h>
35 #include <Library/DebugLib.h>
36 #include <Library/MemoryAllocationLib.h>
37 #include <Library/ThunkPpiList.h>
38 #include <Library/ThunkProtocolList.h>
39 #include <Library/PcdLib.h>
40 #include <Library/PrintLib.h>
41 #include <Library/BaseMemoryLib.h>
42 #include <Library/PeiServicesLib.h>
43 #include <Library/PeCoffExtraActionLib.h>
46 #define TEMPORARY_RAM_SIZE 0x20000
54 EFI_PHYSICAL_ADDRESS Memory
;
60 SecPeCoffGetEntryPoint (
62 IN OUT VOID
**EntryPoint
67 IN UINTN TemporaryRam
,
68 IN UINTN TemporaryRamSize
,
69 IN VOID
*BootFirmwareVolumeBase
,
70 IN UINTN BootFirmwareVolumeSize
,
71 IN VOID
*SecCorePe32File
76 This is the service to load the SEC Core from the Firmware Volume
79 TemporaryRam - Memory to use for SEC.
80 TemporaryRamSize - Size of Memory to use for SEC
81 BootFirmwareVolumeBase - Start of the Boot FV
82 SecCorePe32File - SEC Core PE32
85 Success means control is transfered and thus we should never return
94 IN OUT EFI_PHYSICAL_ADDRESS
*FdBase
,
101 TODO: Add function description
105 Index - TODO: add argument description
106 FdBase - TODO: add argument description
107 FdSize - TODO: add argument description
111 TODO: add return values
122 IN OUT UINTN
*ReadSize
,
129 TODO: Add function description
133 FileHandle - TODO: add argument description
134 FileOffset - TODO: add argument description
135 ReadSize - TODO: add argument description
136 Buffer - TODO: add argument description
140 TODO: add return values
148 IN UINTN
*StrLen OPTIONAL
154 TODO: Add function description
158 Ascii - TODO: add argument description
159 StrLen - TODO: add argument description
163 TODO: add return values
169 CountSeparatorsInString (
170 IN CONST CHAR16
*String
,
177 TODO: Add function description
181 String - TODO: add argument description
182 Separator - TODO: add argument description
186 TODO: add return values
192 EfiSystemMemoryRange (
193 IN VOID
*MemoryAddress
199 extern EMU_THUNK_PROTOCOL gEmuThunkProtocol
;
200 extern EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo
;
201 extern EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo
;
202 extern EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo
;