57 ParamPointer = (
ULONG_PTR)BootAppParameters;
58 if (!(BootAppParameters) ||
61 (BootAppParameters->Size <
sizeof(*BootAppParameters)))
68 MemoryData = (
PBL_MEMORY_DATA)(ParamPointer + BootAppParameters->MemoryDataOffset);
119 BootAppParameters->MemoryTranslationType,
169 #ifdef BL_TPM_SUPPORT 174 #ifdef BL_TPM_SUPPORT 176 EnSubsystemInitialized = 1;
186 #ifdef BL_TPM_SUPPORT 187 if (EnSubsystemInitialized)
196 #ifdef BL_NET_SUPPORT 198 Status = BlNetInitialize();
203 #ifdef BL_TPM_SUPPORT 204 if (EnSubsystemInitialized)
219 #ifdef BL_NET_SUPPORT 223 #ifdef BL_TPM_SUPPORT 224 if (EnSubsystemInitialized)
236 PltInitializePciConfiguration();
239 #ifdef BL_SECURE_BOOT_SUPPORT 241 Status = BlSecureBootSetActivePolicyFromPersistedData();
246 PltDestroyPciConfiguration();
248 #ifdef BL_NET_SUPPORT 252 #ifdef BL_TPM_SUPPORT 253 if (EnSubsystemInitialized)
263 #ifdef BL_TPM_SUPPORT 265 SipInitializePhase0();
273 #ifdef BL_ETW_SUPPORT 289 #ifdef BL_TPM_SUPPORT 305 PltDestroyPciConfiguration();
307 #ifdef BL_NET_SUPPORT 311 #ifdef BL_TPM_SUPPORT 312 if (EnSubsystemInitialized)
321 #if BL_BITLOCKER_SUPPORT 323 g_pEnvironmentData = &SymCryptEnvironmentWindowsBootLibrary;
324 if (SymCryptEnvWindowsBootLibInit)
326 SymCryptEnvWindowsBootLibInit();
369 #ifdef BL_TPM_SUPPORT 409 EfiPrintf(
L"Destroy not yet implemented\r\n");
430 if (!ImageBase || !ImageSize)
466 ((DataBlob->BlobSize) && !(DataBlob->Data)))
478 EfiPrintf(
L"Boot persistent data not yet implemented\r\n");
ULONG PdPersistAllocations
#define BL_APPLICATION_ENTRY_BCD_OPTIONS_INTERNAL
PBOOT_APPLICATION_PARAMETER_BLOCK BlpApplicationParameters
BL_LOADED_APPLICATION_ENTRY BlpApplicationEntry
VOID BlDestroyLibrary(VOID)
#define BL_LIBRARY_FLAG_REINITIALIZE
NTSTATUS InitializeLibrary(_In_ PBOOT_APPLICATION_PARAMETER_BLOCK BootAppParameters, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
ULONGLONG BlpTimePerformanceFrequency
#define STATUS_INVALID_PARAMETER
NTSTATUS BlpMmInitialize(_In_ PBL_MEMORY_DATA MemoryData, _In_ BL_TRANSLATION_TYPE TranslationType, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
NTSTATUS BlpResourceInitialize(VOID)
PGUID BlGetApplicationIdentifier(VOID)
#define STATUS_INVALID_PARAMETER_9
#define BOOT_APPLICATION_SIGNATURE_2
NTSTATUS BlpTimeCalibratePerformanceCounter(VOID)
NTSTATUS BlMmFreeHeap(_In_ PVOID Buffer)
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
struct _BL_FIRMWARE_DESCRIPTOR * PBL_FIRMWARE_DESCRIPTOR
NTSTATUS BlGetBootOptionInteger(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PULONGLONG Value)
NTSTATUS BlMmRemoveBadMemory(VOID)
#define BL_APP_ENTRY_SIGNATURE
NTSTATUS BlInitializeLibrary(_In_ PBOOT_APPLICATION_PARAMETER_BLOCK BootAppParameters, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
PWCHAR BlpApplicationBaseDirectory
return STATUS_NOT_IMPLEMENTED
NTSTATUS BlpMmInitializeConstraints(VOID)
BL_LIBRARY_PARAMETERS BlpLibraryParameters
ULONG BlpApplicationFlags
#define BL_LIBRARY_FLAG_INITIALIZATION_COMPLETED
#define NT_SUCCESS(StatCode)
NTSTATUS BlUtlInitialize(VOID)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
NTSTATUS BlpDisplayInitialize(_In_ ULONG Flags)
NTSTATUS BlPdQueryData(_In_ const GUID *DataGuid, _In_ PVOID Unknown, _Inout_ PBL_PD_DATA_BLOB DataBlob)
NTSTATUS BlGetApplicationBaseAndSize(_Out_ PVOID *ImageBase, _Out_ PULONG ImageSize)
VOID BlDestroyBootEntry(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry)
#define BL_LIBRARY_FLAG_NO_DISPLAY
NTSTATUS BlpArchInitialize(_In_ ULONG Phase)
struct _BL_DEVICE_DESCRIPTOR * PBL_DEVICE_DESCRIPTOR
NTSTATUS BlpFwInitialize(_In_ ULONG Phase, _In_ PBL_FIRMWARE_DESCRIPTOR FirmwareParameters)
#define InitializeListHead(ListHead)
VOID EfiPrintf(_In_ PWCHAR Format,...)
#define BL_LIBRARY_FLAG_REINITIALIZE_ALL
#define BOOT_APPLICATION_SIGNATURE_1
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
NTSTATUS BlpIoInitialize(VOID)
struct _BL_APPLICATION_ENTRY * PBL_APPLICATION_ENTRY
#define BL_APPLICATION_ENTRY_BCD_OPTIONS_EXTERNAL
BOOLEAN BlpLibraryParametersInitialized
#define BL_APPLICATION_ENTRY_FLAG_NO_GUID
struct _BL_MEMORY_DATA * PBL_MEMORY_DATA
PBL_DEVICE_DESCRIPTOR BlpBootDevice