49DEFINE_GUID(BadMemoryGuid, 0x54B8275B, 0xD431, 0x473F, 0xAC, 0xFB, 0xE5, 0x36, 0xA0, 0x84, 0x94, 0xA3);
51#define BL_APPLICATION_FLAG_CONVERTED_FROM_EFI 0x01
53#define BL_APP_ENTRY_SIGNATURE "BTAPENT"
55#define BOOT_APPLICATION_SIGNATURE_1 'TOOB'
56#define BOOT_APPLICATION_SIGNATURE_2 ' PPA'
58#define BOOT_MEMORY_TRANSLATION_TYPE_PHYSICAL 0
59#define BOOT_MEMORY_TRANSLATION_TYPE_VIRTUAL 1
61#define BOOT_APPLICATION_VERSION 2
62#define BL_MEMORY_DATA_VERSION 1
63#define BL_RETURN_ARGUMENTS_VERSION 1
64#define BL_FIRMWARE_DESCRIPTOR_VERSION 2
66#define BL_RETURN_ARGUMENTS_NO_PAE_FLAG 0x40
68#define BL_APPLICATION_ENTRY_FLAG_NO_GUID 0x01
69#define BL_APPLICATION_ENTRY_BCD_OPTIONS_INTERNAL 0x02
70#define BL_APPLICATION_ENTRY_WINLOAD 0x04
71#define BL_APPLICATION_ENTRY_STARTUP 0x08
72#define BL_APPLICATION_ENTRY_REBOOT_ON_ERROR 0x20
73#define BL_APPLICATION_ENTRY_NTLDR 0x40
74#define BL_APPLICATION_ENTRY_BCD_OPTIONS_EXTERNAL 0x80
75#define BL_APPLICATION_ENTRY_WINRESUME 0x100
76#define BL_APPLICATION_ENTRY_SETUPLDR 0x200
77#define BL_APPLICATION_ENTRY_BOOTSECTOR 0x400
78#define BL_APPLICATION_ENTRY_BOOTMGR 0x1000
79#define BL_APPLICATION_ENTRY_DISPLAY_ORDER 0x800000
80#define BL_APPLICATION_ENTRY_FIXED_SEQUENCE 0x20000000
81#define BL_APPLICATION_ENTRY_RECOVERY 0x40000000
83#define BL_CONTEXT_PAGING_ON 1
84#define BL_CONTEXT_INTERRUPTS_ON 2
86#define BL_MM_FLAG_USE_FIRMWARE_FOR_MEMORY_MAP_BUFFERS 0x01
87#define BL_MM_FLAG_REQUEST_COALESCING 0x02
89#define BL_MM_ADD_DESCRIPTOR_COALESCE_FLAG 0x01
90#define BL_MM_ADD_DESCRIPTOR_TRUNCATE_FLAG 0x02
91#define BL_MM_ADD_DESCRIPTOR_NEVER_COALESCE_FLAG 0x10
92#define BL_MM_ADD_DESCRIPTOR_NEVER_TRUNCATE_FLAG 0x20
93#define BL_MM_ADD_DESCRIPTOR_ALLOCATE_FLAG 0x1000
94#define BL_MM_ADD_DESCRIPTOR_UPDATE_LIST_POINTER_FLAG 0x2000
96#define BL_MM_INCLUDE_MAPPED_ALLOCATED 0x01
97#define BL_MM_INCLUDE_MAPPED_UNALLOCATED 0x02
98#define BL_MM_INCLUDE_UNMAPPED_ALLOCATED 0x04
99#define BL_MM_INCLUDE_UNMAPPED_UNALLOCATED 0x08
100#define BL_MM_INCLUDE_RESERVED_ALLOCATED 0x10
101#define BL_MM_INCLUDE_BAD_MEMORY 0x20
102#define BL_MM_INCLUDE_FIRMWARE_MEMORY 0x40
103#define BL_MM_INCLUDE_TRUNCATED_MEMORY 0x80
104#define BL_MM_INCLUDE_PERSISTENT_MEMORY 0x100
105#define BL_MM_INCLUDE_FIRMWARE_MEMORY_2 0x200
107#define BL_MM_INCLUDE_NO_FIRMWARE_MEMORY (BL_MM_INCLUDE_PERSISTENT_MEMORY | \
108 BL_MM_INCLUDE_TRUNCATED_MEMORY | \
109 BL_MM_INCLUDE_BAD_MEMORY | \
110 BL_MM_INCLUDE_RESERVED_ALLOCATED | \
111 BL_MM_INCLUDE_UNMAPPED_UNALLOCATED | \
112 BL_MM_INCLUDE_UNMAPPED_ALLOCATED | \
113 BL_MM_INCLUDE_MAPPED_UNALLOCATED | \
114 BL_MM_INCLUDE_MAPPED_ALLOCATED)
117#define BL_MM_INCLUDE_ONLY_FIRMWARE_MEMORY (BL_MM_INCLUDE_FIRMWARE_MEMORY_2 | \
118 BL_MM_INCLUDE_FIRMWARE_MEMORY)
121#define BL_MM_REQUEST_DEFAULT_TYPE 1
122#define BL_MM_REQUEST_TOP_DOWN_TYPE 2
124#define BL_MM_REMOVE_PHYSICAL_REGION_FLAG 0x40000000
125#define BL_MM_REMOVE_VIRTUAL_REGION_FLAG 0x80000000
127#define BL_LIBRARY_FLAG_NO_DISPLAY 0x01
128#define BL_LIBRARY_FLAG_REINITIALIZE 0x02
129#define BL_LIBRARY_FLAG_REINITIALIZE_ALL 0x04
130#define BL_LIBRARY_FLAG_ZERO_HEAP_ALLOCATIONS_ON_FREE 0x10
131#define BL_LIBRARY_FLAG_INITIALIZATION_COMPLETED 0x20
132#define BL_LIBRARY_FLAG_NO_GRAPHICS_CONSOLE 0x800
134#define BL_DISPLAY_GRAPHICS_FORCED_VIDEO_MODE_FLAG 0x01
135#define BL_DISPLAY_GRAPHICS_FORCED_HIGH_RES_MODE_FLAG 0x02
137#define BL_HT_VALUE_IS_INLINE 0x01
139#define BL_FS_REGISTER_AT_HEAD_FLAG 1
141#define BL_BLOCK_DEVICE_REMOVABLE_FLAG 0x01
142#define BL_BLOCK_DEVICE_PRESENT_FLAG 0x02
143#define BL_BLOCK_DEVICE_VIRTUAL_FLAG 0x04
145#define BL_MEMORY_CLASS_SHIFT 28
147#define BL_FILE_READ_ACCESS 0x01
148#define BL_FILE_WRITE_ACCESS 0x02
149#define BL_DIRECTORY_ACCESS 0x04
150#define BL_UNKNOWN_ACCESS 0x10
152#define BL_DEVICE_READ_ACCESS 0x01
153#define BL_DEVICE_WRITE_ACCESS 0x02
155#define BL_DEVICE_ENTRY_OPENED 0x01
156#define BL_DEVICE_ENTRY_READ_ACCESS 0x02
157#define BL_DEVICE_ENTRY_WRITE_ACCESS 0x04
159#define BL_FILE_ENTRY_OPENED 0x01
160#define BL_FILE_ENTRY_READ_ACCESS 0x02
161#define BL_FILE_ENTRY_WRITE_ACCESS 0x04
162#define BL_FILE_ENTRY_UNKNOWN_ACCESS 0x10
163#define BL_FILE_ENTRY_DIRECTORY 0x10000
165#define BL_ETFS_FILE_ENTRY_DIRECTORY 0x01
167#define BL_IMG_VALID_FILE 0x01
168#define BL_IMG_MEMORY_FILE 0x02
169#define BL_IMG_REMOTE_FILE 0x04
171#define BL_LOAD_IMG_VIRTUAL_BUFFER 0x01
172#define BL_LOAD_IMG_EXISTING_BUFFER 0x04
173#define BL_LOAD_IMG_UNKNOWN_BUFFER_FLAG 0x08
174#define BL_LOAD_IMG_COMPUTE_SIGNATURE 0x10
175#define BL_LOAD_IMG_COMPUTE_HASH 0x40000
177#define BL_LOAD_PE_IMG_VIRTUAL_BUFFER BL_LOAD_IMG_VIRTUAL_BUFFER
178#define BL_LOAD_PE_IMG_CHECK_MACHINE 0x02
179#define BL_LOAD_PE_IMG_EXISTING_BUFFER BL_LOAD_IMG_EXISTING_BUFFER
180#define BL_LOAD_PE_IMG_COMPUTE_HASH 0x10
181#define BL_LOAD_PE_IMG_CHECK_SUBSYSTEM 0x80
182#define BL_LOAD_PE_IMG_SKIP_RELOCATIONS 0x100
183#define BL_LOAD_PE_IMG_CHECK_FORCED_INTEGRITY 0x200
184#define BL_LOAD_PE_IMG_IGNORE_CHECKSUM_MISMATCH 0x10000
185#define BL_LOAD_PE_IMG_VALIDATE_ORIGINAL_FILENAME 0x400000
187#define BL_UTL_CHECKSUM_COMPLEMENT 0x10000
188#define BL_UTL_CHECKSUM_ROTATE 0x20000
189#define BL_UTL_CHECKSUM_NEGATE 0x40000
190#define BL_UTL_CHECKSUM_UCHAR_BUFFER 0x01
191#define BL_UTL_CHECKSUM_USHORT_BUFFER 0x02
1371 RtlCopyMemory(LibraryParameters, &DefaultParameters,
sizeof(*LibraryParameters));
UINT64 EFI_PHYSICAL_ADDRESS
static const COLUMN_LIST Columns[]
struct _BL_MEMORY_DESCRIPTOR BL_MEMORY_DESCRIPTOR
ULONGLONG BlpTimePerformanceFrequency
NTSTATUS BlockIoEfiCompareDevice(_In_ PBL_DEVICE_DESCRIPTOR Device, _In_ EFI_HANDLE Handle)
NTSTATUS(* PBL_FILE_SET_INFO)(_In_ struct _BL_FILE_ENTRY *FileEntry, _In_ struct _BL_FILE_INFORMATION *FileInfo)
struct _BOOT_APPLICATION_PARAMETER_BLOCK BOOT_APPLICATION_PARAMETER_BLOCK
NTSTATUS BfClearScreen(_In_ PBL_GRAPHICS_CONSOLE Console)
NTSTATUS BlDisplaySetCursorType(_In_ ULONG Type)
struct _BL_FIRMWARE_DESCRIPTOR BL_FIRMWARE_DESCRIPTOR
NTSTATUS BlSecureBootIsEnabled(_Out_ PBOOLEAN SecureBootEnabled)
NTSTATUS BiGetRegistryValue(_In_ HANDLE KeyHandle, _In_ PWCHAR ValueName, _In_ ULONG Type, _Out_ PVOID *Buffer, _Out_ PULONG ValueLength)
NTSTATUS ConsoleFirmwareGraphicalClear(_In_ PBL_GRAPHICS_CONSOLE Console, _In_ ULONG Color)
NTSTATUS EfiGetNtStatusCode(_In_ EFI_STATUS EfiStatus)
struct _BL_BCD_OPTION * PBL_BCD_OPTION
NTSTATUS(* PBL_DEVICE_SET_INFORMATION)(_In_ struct _BL_DEVICE_ENTRY *DeviceEntry, _In_ struct _BL_DEVICE_INFORMATION *DeviceInformation)
struct _BL_DEVICE_CALLBACKS * PBL_DEVICE_CALLBACKS
PBL_MEMORY_DESCRIPTOR MmMdFindDescriptorFromMdl(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList, _In_ ULONG Flags, _In_ ULONGLONG Page)
NTSTATUS BlGetBootOptionBoolean(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PBOOLEAN Value)
VOID ConsoleTextLocalDestruct(_In_ struct _BL_TEXT_CONSOLE *Console)
EFI_GUID EfiGraphicsOutputProtocol
NTSTATUS BlMmGetMemoryMap(_In_ PLIST_ENTRY MemoryMap, _In_ PBL_BUFFER_DESCRIPTOR MemoryParameters, _In_ ULONG WhichTypes, _In_ ULONG Flags)
NTSTATUS MmPaInitialize(_In_ PBL_MEMORY_DATA MemoryData, _In_ ULONG MinimumPages)
NTSTATUS ConsoleGraphicalReinitialize(_In_ struct _BL_GRAPHICS_CONSOLE *Console)
EFI_DEVICE_PATH * EfiIsDevicePathParent(_In_ EFI_DEVICE_PATH *DevicePath1, _In_ EFI_DEVICE_PATH *DevicePath2)
NTSTATUS ConsoleEfiUgaSetResolution(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole, _In_ PBL_DISPLAY_MODE DisplayMode, _In_ ULONG DisplayModeCount)
NTSTATUS(* PBL_DEVICE_RESET)(VOID)
PWCHAR BlResourceFindMessage(_In_ ULONG MsgId)
NTSTATUS ConsoleTextLocalWriteText(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ PCHAR Text, _In_ ULONG Attribute)
BOOLEAN BlDeviceIsVirtualPartitionDevice(_In_ PBL_DEVICE_DESCRIPTOR InputDevice, _Outptr_ PBL_DEVICE_DESCRIPTOR *VirtualDevice)
struct _BL_ARCH_CONTEXT * PBL_ARCH_CONTEXT
struct _BL_WINDOWS_LOAD_OPTIONS BL_WINDOWS_LOAD_OPTIONS
NTSTATUS MmMdFreeDescriptor(_In_ PBL_MEMORY_DESCRIPTOR MemoryDescriptor)
struct _BL_FILE_PATH_DESCRIPTOR BL_FILE_PATH_DESCRIPTOR
NTSTATUS(* PBL_FILE_OPEN)(_In_ struct _BL_FILE_ENTRY *Directory, _In_ PWCHAR FileName, _In_ ULONG Flags, _Out_ struct _BL_FILE_ENTRY **FileEntry)
NTSTATUS BfClearToEndOfLine(_In_ PBL_GRAPHICS_CONSOLE Console)
struct _BL_MEMORY_DESCRIPTOR_LIST BL_MEMORY_DESCRIPTOR_LIST
NTSTATUS BlDeviceGetInformation(_In_ ULONG DeviceId, _Out_ PBL_DEVICE_INFORMATION DeviceInformation)
BL_MEMORY_DESCRIPTOR_LIST MmMdlMappedUnallocated
NTSTATUS(* PCONSOLE_SET_TEXT_STATE)(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ ULONG Flags, _In_ struct _BL_DISPLAY_STATE *TextState)
NTSTATUS BlMmAllocatePhysicalPages(_Inout_ PPHYSICAL_ADDRESS Address, _In_ BL_MEMORY_TYPE MemoryType, _In_ ULONGLONG PageCount, _In_ ULONG Attributes, _In_ ULONG Alignment)
struct _BL_IMAGE_APPLICATION_ENTRY BL_IMAGE_APPLICATION_ENTRY
NTSTATUS MmMdAddDescriptorToList(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList, _In_ PBL_MEMORY_DESCRIPTOR MemoryDescriptor, _In_ ULONG Flags)
struct _BL_ADDRESS_RANGE BL_ADDRESS_RANGE
NTSTATUS MmPapAllocatePhysicalPagesInRange(_Inout_ PPHYSICAL_ADDRESS BaseAddress, _In_ BL_MEMORY_TYPE MemoryType, _In_ ULONGLONG Pages, _In_ ULONG Attributes, _In_ ULONG Alignment, _In_ PBL_MEMORY_DESCRIPTOR_LIST NewList, _In_opt_ PBL_ADDRESS_RANGE Range, _In_ ULONG RangeType)
NTSTATUS BlFileOpen(_In_ ULONG DeviceId, _In_ PWCHAR FileName, _In_ ULONG Flags, _Out_ PULONG FileId)
NTSTATUS BiOpenKey(_In_ HANDLE ParentHandle, _In_ PWCHAR KeyName, _Out_ PHANDLE Handle)
NTSTATUS BlDeviceReadAtOffset(_In_ ULONG DeviceId, _In_ ULONG Size, _In_ ULONGLONG Offset, _In_ PVOID Buffer, _Out_ PULONG BytesRead)
VOID BlpArchEnableTranslation(VOID)
NTSTATUS EfiConOutQueryMode(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ ULONG Mode, _In_ UINTN *Columns, _In_ UINTN *Rows)
ULONG_PTR MmArchTopOfApplicationAddressSpace
NTSTATUS EfiCloseProtocol(_In_ EFI_HANDLE Handle, _In_ EFI_GUID *Protocol)
NTSTATUS EfiGopGetCurrentMode(_In_ EFI_GRAPHICS_OUTPUT_PROTOCOL *GopInterface, _Out_ UINTN *Mode, _Out_ EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Information)
struct _BL_FIRMWARE_DESCRIPTOR * PBL_FIRMWARE_DESCRIPTOR
VOID BlImgQueryCodeIntegrityBootOptions(_In_ PBL_LOADED_APPLICATION_ENTRY ApplicationEntry, _Out_ PBOOLEAN IntegrityChecksDisabled, _Out_ PBOOLEAN TestSigning)
ULONG MmMdCountList(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList)
VOID BlDisplayGetTextCellResolution(_Out_ PULONG TextWidth, _Out_ PULONG TextHeight)
struct _BL_DEVICE_DESCRIPTOR * PBL_DEVICE_DESCRIPTOR
struct _BL_PROTOCOL_HANDLE BL_PROTOCOL_HANDLE
@ BlConventionalZeroedMemory
VOID BlDestroyBootEntry(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry)
NTSTATUS BlInitializeLibrary(_In_ PBOOT_APPLICATION_PARAMETER_BLOCK BootAppParameters, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
VOID BlArchCpuId(_In_ ULONG Function, _In_ ULONG SubFunction, _Out_ PCPU_INFO Result)
NTSTATUS FatInitialize(VOID)
ULONGLONG BlTimeQueryPerformanceCounter(_Out_opt_ PLARGE_INTEGER Frequency)
NTSTATUS MmMapPhysicalAddress(_Inout_ PPHYSICAL_ADDRESS PhysicalAddress, _Out_ PVOID *VirtualAddress, _Inout_ PULONGLONG Size, _In_ ULONG CacheAttributes)
VOID EfiPrintf(_In_ PWCHAR Format,...)
BL_DISPLAY_MODE ConsoleGraphicalResolutionList[]
NTSTATUS MmArchInitialize(_In_ ULONG Phase, _In_ PBL_MEMORY_DATA MemoryData, _In_ BL_TRANSLATION_TYPE TranslationType, _In_ BL_TRANSLATION_TYPE LibraryTranslationType)
struct _BL_HARDDISK_DEVICE BL_HARDDISK_DEVICE
NTSTATUS BlUtlRegisterProgressRoutine(VOID)
FORCEINLINE VOID MmMdInitializeListHead(_In_ PBL_MEMORY_DESCRIPTOR_LIST List)
NTSTATUS BlpDisplayInitialize(_In_ ULONG Flags)
PBL_MEMORY_DESCRIPTOR MmMdInitByteGranularDescriptor(_In_ ULONG Flags, _In_ BL_MEMORY_TYPE Type, _In_ ULONGLONG BasePage, _In_ ULONGLONG VirtualPage, _In_ ULONGLONG PageCount)
struct _BL_LIBRARY_PARAMETERS * PBL_LIBRARY_PARAMETERS
NTSTATUS BlHtStore(_In_ ULONG TableId, _In_ PBL_HASH_ENTRY Entry, _In_ PVOID Data, _In_ ULONG DataSize)
NTSTATUS BlpDisplayReinitialize(VOID)
NTSTATUS BlGetBootOptionGuidList(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PGUID *Value, _In_ PULONG Count)
struct _BOOT_APPLICATION_PARAMETER_BLOCK * PBOOT_APPLICATION_PARAMETER_BLOCK
struct _BL_DEVICE_DESCRIPTOR BL_DEVICE_DESCRIPTOR
NTSTATUS ConsolepConvertColorToPixel(_In_ BL_COLOR Color, _Out_ PUCHAR Pixel)
NTSTATUS MmPaReserveSelfMapPages(_Inout_ PPHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG Alignment, _In_ ULONG PageCount)
struct _BL_FILE_ENTRY BL_FILE_ENTRY
struct _BL_IMG_FILE BL_IMG_FILE
BL_MEMORY_DESCRIPTOR_LIST MmMdlReservedAllocated
NTSTATUS(* PBL_FS_INIT_CALLBACK)(VOID)
VOID ConsoleFirmwareGraphicalDisable(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
struct _BL_MENU_STATUS * PL_MENU_STATUS
struct _BL_BUFFER_DESCRIPTOR * PBL_BUFFER_DESCRIPTOR
EFI_GUID EfiRootAcpiTable10Guid
VOID ConsoleInputLocalDestruct(_In_ struct _BL_INPUT_CONSOLE *Console)
BOOLEAN(* PBL_MM_TRANSLATE_VIRTUAL_ADDRESS)(_In_ PVOID VirtualAddress, _Out_ PPHYSICAL_ADDRESS PhysicalAddress, _Out_opt_ PULONG CacheAttributes)
struct _BL_FILE_CALLBACKS BL_FILE_CALLBACKS
EFI_GUID EfiDevicePathProtocol
struct _BL_FILE_SYSTEM_ENTRY BL_FILE_SYSTEM_ENTRY
EFI_GUID EfiBlockIoProtocol
VOID BiDereferenceHive(_In_ HANDLE KeyHandle)
VOID(* PBL_MM_RELOCATE_SELF_MAP)(VOID)
struct _BL_MEMORY_DESCRIPTOR * PBL_MEMORY_DESCRIPTOR
BL_TRANSLATION_TYPE MmTranslationType
NTSTATUS(* PCONSOLE_REINITIALIZE)(_In_ struct _BL_TEXT_CONSOLE *Console)
struct _BL_DEFERRED_FONT_FILE BL_DEFERRED_FONT_FILE
enum _BL_COLOR * PBL_COLOR
NTSTATUS BlpTimeCalibratePerformanceCounter(VOID)
NTSTATUS ConsoleFirmwareTextOpen(_In_ PBL_TEXT_CONSOLE TextConsole)
NTSTATUS ConsoleCreateRemoteConsole(_In_ PBL_TEXT_CONSOLE *TextConsole)
NTSTATUS MmHaInitialize(_In_ ULONG HeapSize, _In_ ULONG HeapAttributes)
struct _BL_REMOTE_CONSOLE * PBL_REMOTE_CONSOLE
NTSTATUS EfiOpenProtocol(_In_ EFI_HANDLE Handle, _In_ EFI_GUID *Protocol, _Out_ PVOID *Interface)
NTSTATUS(* PCONSOLE_ENABLE)(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _In_ BOOLEAN Enable)
struct _BL_HASH_NODE BL_HASH_NODE
ULONG ConsoleGraphicalResolutionListSize
NTSTATUS ConsoleTextLocalSetTextResolution(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ ULONG NewTextResolution, _Out_ PULONG OldTextResolution)
_BL_MEMORY_DESCRIPTOR_TYPE
struct _BL_INPUT_CONSOLE_VTABLE * PBL_INPUT_CONSOLE_VTABLE
struct _BL_LIBRARY_PARAMETERS BL_LIBRARY_PARAMETERS
NTSTATUS BfLoadDeferredFontFiles(VOID)
NTSTATUS MmPapAllocatePagesInRange(_Inout_ PVOID *PhysicalAddress, _In_ BL_MEMORY_TYPE MemoryType, _In_ ULONGLONG Pages, _In_ ULONG Attributes, _In_ ULONG Alignment, _In_opt_ PBL_ADDRESS_RANGE Range, _In_ ULONG Type)
NTSTATUS BlGetBootOptionDevice(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PBL_DEVICE_DESCRIPTOR *Value, _In_opt_ PBL_BCD_OPTION *ExtraOptions)
NTSTATUS FatMount(_In_ ULONG DeviceId, _In_ ULONG Unknown, _Out_ PBL_FILE_ENTRY *FileEntry)
BL_MEMORY_DESCRIPTOR_LIST MmMdlBadMemory
NTSTATUS(* PCONSOLE_GET_TEXT_RESOLUTION)(_In_ struct _BL_TEXT_CONSOLE *Console, _Out_ PULONG TextResolution)
struct _BL_LOCAL_DEVICE * PBL_LOCAL_DEVICE
PVOID BlMmAllocateHeap(_In_ SIZE_T Size)
struct _BMP_HEADER BMP_HEADER
NTSTATUS BlpIoInitialize(VOID)
struct _BL_FILE_INFORMATION BL_FILE_INFORMATION
NTSTATUS ConsoleInputLocalEraseBuffer(_In_ PBL_INPUT_CONSOLE Console, _In_opt_ PULONG ValueToFill)
NTSTATUS BlBdPullRemoteFile(_In_ PWCHAR FilePath, _Out_ PVOID BaseAddress, _Out_ PULONGLONG FileSize)
NTSTATUS ConsoleCreateLocalInputConsole(VOID)
NTSTATUS BlHtCreate(_In_ ULONG Size, _In_ PBL_HASH_TABLE_HASH_FUNCTION HashFunction, _In_ PBL_HASH_TABLE_COMPARE_FUNCTION CompareFunction, _Out_ PULONG Id)
struct _BL_RETURN_ARGUMENTS * PBL_RETURN_ARGUMENTS
enum _BL_MEMORY_TYPE BL_MEMORY_TYPE
struct _BL_APPLICATION_ENTRY * PBL_APPLICATION_ENTRY
VOID MmMdRemoveDescriptorFromList(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList, _In_ PBL_MEMORY_DESCRIPTOR Entry)
struct _BL_HASH_TABLE BL_HASH_TABLE
NTSTATUS BlMmUnmapVirtualAddressEx(_In_ PVOID VirtualAddress, _In_ ULONGLONG Size)
NTSTATUS(* PBL_DEVICE_CLOSE)(_In_ struct _BL_DEVICE_ENTRY *DeviceEntry)
NTSTATUS ConsoleGraphicalClearText(_In_ PBL_GRAPHICS_CONSOLE Console, _In_ BOOLEAN LineOnly)
struct _BL_GRAPHICS_CONSOLE_VTABLE BL_GRAPHICS_CONSOLE_VTABLE
NTSTATUS(* PBL_FS_MOUNT_CALLBACK)(_In_ ULONG DeviceId, _In_ ULONG Unknown, _Out_ struct _BL_FILE_ENTRY **FileEntry)
PVOID BlTblFindEntry(_In_ PVOID *Table, _In_ ULONG Count, _Out_ PULONG EntryIndex, _In_ PBL_TBL_LOOKUP_ROUTINE Callback, _In_ PVOID Argument1, _In_ PVOID Argument2, _In_ PVOID Argument3, _In_ PVOID Argument4)
VOID EfiResetSystem(_In_ EFI_RESET_TYPE ResetType)
EFI_GUID EfiLoadedImageProtocol
VOID MmMdDbgDumpList(_In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList, _In_opt_ ULONG MaxCount)
NTSTATUS BlFileGetInformation(_In_ ULONG FileId, _In_ PBL_FILE_INFORMATION FileInfo)
NTSTATUS ConsoleGraphicalConstruct(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
NTSTATUS BlpDeviceOpen(_In_ PBL_DEVICE_DESCRIPTOR Device, _In_ ULONG Flags, _In_ ULONG Unknown, _Out_ PULONG DeviceId)
NTSTATUS BlDeviceClose(_In_ ULONG DeviceId)
NTSTATUS BlImgLoadImageWithProgress2(_In_ ULONG DeviceId, _In_ BL_MEMORY_TYPE MemoryType, _In_ PWCHAR FileName, _Inout_ PVOID *MappedBase, _Inout_ PULONG MappedSize, _In_ ULONG ImageFlags, _In_ BOOLEAN ShowProgress, _Out_opt_ PUCHAR *HashBuffer, _Out_opt_ PULONG HashSize)
BOOLEAN BlArchIsCpuIdFunctionSupported(_In_ ULONG Function)
BOOLEAN(* PBL_HASH_TABLE_COMPARE_FUNCTION)(_In_ struct _BL_HASH_ENTRY *Entry1, _In_ struct _BL_HASH_ENTRY *Entry2)
struct _BL_LOCAL_DEVICE BL_LOCAL_DEVICE
enum _BL_PATH_TYPE BL_PATH_TYPE
struct _BL_ARCH_CONTEXT BL_ARCH_CONTEXT
struct _BL_DISPLAY_STATE BL_DISPLAY_STATE
ULONG BlUtlCheckSum(_In_ ULONG PartialSum, _In_ PUCHAR Buffer, _In_ ULONG Length, _In_ ULONG Flags)
struct _BL_PROTOCOL_HANDLE * PBL_PROTOCOL_HANDLE
struct _BL_BLOCK_DEVICE * PBL_BLOCK_DEVICE
struct _BL_IMAGE_APPLICATION_ENTRY * PBL_IMAGE_APPLICATION_ENTRY
NTSTATUS MmPapFreePages(_In_ PVOID Address, _In_ ULONG WhichList)
NTSTATUS(* PBL_DEVICE_OPEN)(_In_ struct _BL_DEVICE_DESCRIPTOR *Device, _In_ struct _BL_DEVICE_ENTRY *DeviceEntry)
struct _BL_GRAPHICS_CONSOLE * PBL_GRAPHICS_CONSOLE
struct _BL_TEXT_CONSOLE_VTABLE * PBL_TEXT_CONSOLE_VTABLE
NTSTATUS BlReplaceBootOptions(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ PBL_BCD_OPTION NewOptions)
struct _BL_MEMORY_DATA * PBL_MEMORY_DATA
NTSTATUS BlMmFreePhysicalPages(_In_ PHYSICAL_ADDRESS Address)
struct _BL_HASH_NODE * PBL_HASH_NODE
EFI_GUID EfiRootAcpiTableGuid
BL_MEMORY_DESCRIPTOR_LIST MmMdlUnmappedAllocated
NTSTATUS ConsoleFirmwareGraphicalEnable(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
PVOID DspLocalInputConsole
VOID ConsoleFirmwareTextClose(_In_ PBL_TEXT_CONSOLE TextConsole)
PBL_DEVICE_DESCRIPTOR BlpBootDevice
enum _BL_GRAPHICS_CONSOLE_TYPE BL_GRAPHICS_CONSOLE_TYPE
ULONG BlGetBootOptionSize(_In_ PBL_BCD_OPTION BcdOption)
NTSTATUS ConsoleEfiGopEnable(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
struct _BL_HASH_ENTRY BL_HASH_ENTRY
NTSTATUS MmPaReleaseSelfMapPages(_In_ PHYSICAL_ADDRESS Address)
struct _BL_INPUT_CONSOLE_VTABLE BL_INPUT_CONSOLE_VTABLE
PWCHAR BlResourceFindHtml(VOID)
NTSTATUS EfiConOutSetMode(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ ULONG Mode)
struct _BL_DEFERRED_FONT_FILE * PBL_DEFERRED_FONT_FILE
VOID BiCloseKey(_In_ HANDLE KeyHandle)
VOID EfiConOutReadCurrentMode(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _Out_ EFI_SIMPLE_TEXT_OUTPUT_MODE *Mode)
struct _BL_FILE_CALLBACKS * PBL_FILE_CALLBACKS
enum _BL_BOOT_ERROR_STATUS BL_BOOT_ERROR_STATUS
struct _BL_INPUT_CONSOLE BL_INPUT_CONSOLE
ULONG BlpApplicationFlags
struct _BL_HASH_ENTRY * PBL_HASH_ENTRY
PBL_MM_RELOCATE_SELF_MAP BlMmRelocateSelfMap
NTSTATUS(* PBL_DEVICE_ENUMERATE_DEVICE_CLASS)(VOID)
struct _BL_MENU_STATUS BL_MENU_STATUS
NTSTATUS BlUtlInitialize(VOID)
VOID BlDisplayInvalidateOemBitmap(VOID)
NTSTATUS(* PBL_FILE_WRITE)(VOID)
BL_MEMORY_DESCRIPTOR_LIST MmMdlMappingTrackers
NTSTATUS BlDisplayGetScreenResolution(_Out_ PULONG HRes, _Out_ PULONG Vres)
PBL_MM_MOVE_VIRTUAL_ADDRESS_RANGE BlMmMoveVirtualAddressRange
CPU_VENDORS BlArchGetCpuVendor(VOID)
BL_DISPLAY_MODE ConsoleTextResolutionList[]
BL_ADDRESS_RANGE MmArchKsegAddressRange
struct _BL_INPUT_CONSOLE * PBL_INPUT_CONSOLE
BOOLEAN MmArchTranslateVirtualAddress(_In_ PVOID VirtualAddress, _Out_opt_ PPHYSICAL_ADDRESS PhysicalAddress, _Out_opt_ PULONG CachingFlags)
NTSTATUS BlSecureBootCheckForFactoryReset(VOID)
BOOLEAN(* PBL_TBL_LOOKUP_ROUTINE)(_In_ PVOID Entry, _In_ PVOID Argument1, _In_ PVOID Argument2, _In_ PVOID Argument3, _In_ PVOID Argument4)
NTSTATUS ConsoleEfiGraphicalOpenProtocol(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole, _In_ BL_GRAPHICS_CONSOLE_TYPE Type)
NTSTATUS BfLoadFontFile(_In_ PBL_DEVICE_DESCRIPTOR Device, _In_ PWCHAR FontPath)
NTSTATUS(* PCONSOLE_SET_GRAPHICAL_RESOLUTION)(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _In_ struct _BL_DISPLAY_MODE DisplayMode)
NTSTATUS BlAppendBootOptionInteger(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ ULONG OptionId, _In_ ULONGLONG Value)
NTSTATUS BlMmRemoveBadMemory(VOID)
VOID ConsoleFirmwareGraphicalClose(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
NTSTATUS(* PBL_DEVICE_CREATE)(VOID)
NTSTATUS(* PBL_MM_REMAP_VIRTUAL_ADDRESS)(_In_ PPHYSICAL_ADDRESS PhysicalAddress, _Out_ PVOID VirtualAddress, _In_ ULONG Size, _In_ ULONG CacheAttributes)
NTSTATUS ConsoleFirmwareTextSetState(_In_ PBL_TEXT_CONSOLE TextConsole, _In_ UCHAR Mask, _In_ PBL_DISPLAY_STATE State)
NTSTATUS EfiFreePages(_In_ ULONG Pages, _In_ EFI_PHYSICAL_ADDRESS PhysicalAddress)
NTSTATUS MmMdCopyList(_In_ PBL_MEMORY_DESCRIPTOR_LIST DestinationList, _In_ PBL_MEMORY_DESCRIPTOR_LIST SourceList, _In_opt_ PBL_MEMORY_DESCRIPTOR ListDescriptor, _Out_ PULONG ActualCount, _In_ ULONG Count, _In_ ULONG Flags)
struct _BL_PD_DATA_BLOB BL_PD_DATA_BLOB
LIST_ENTRY RegisteredFileSystems
NTSTATUS MmPaTruncateMemory(_In_ ULONGLONG BasePage)
NTSTATUS BlGetBootOptionGuid(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PGUID Value)
NTSTATUS(* PBL_MM_UNMAP_VIRTUAL_ADDRESS)(_In_ PVOID VirtualAddress, _In_ ULONG Size)
NTSTATUS BlpMmInitialize(_In_ PBL_MEMORY_DATA MemoryData, _In_ BL_TRANSLATION_TYPE TranslationType, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
NTSTATUS BlFwEnumerateDevice(_In_ PBL_DEVICE_DESCRIPTOR Device)
struct _BL_DEVICE_ENTRY BL_DEVICE_ENTRY
VOID ConsoleEfiUgaClose(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
NTSTATUS BlAppendBootOptions(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ PBL_BCD_OPTION Options)
VOID MmMdFreeGlobalDescriptors(VOID)
enum _BL_MEMORY_DESCRIPTOR_TYPE BL_MEMORY_DESCRIPTOR_TYPE
EFI_STATUS EfiGetEfiStatusCode(_In_ NTSTATUS Status)
enum _BL_TRANSLATION_TYPE BL_TRANSLATION_TYPE
struct _BL_APPLICATION_ENTRY BL_APPLICATION_ENTRY
NTSTATUS BlUtlGetAcpiTable(_Out_ PVOID *TableAddress, _In_ ULONG Signature)
BL_MEMORY_DESCRIPTOR_LIST MmMdlTruncatedMemory
VOID BlpArchSwitchContext(_In_ BL_ARCH_MODE NewMode)
NTSTATUS(* PCONSOLE_SET_TEXT_RESOLUTION)(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ ULONG NewTextResolution, _Out_ PULONG OldTextResolution)
NTSTATUS ConsoleGraphicalSetTextState(_In_ PBL_GRAPHICS_CONSOLE Console, _In_ ULONG Mask, _In_ PBL_DISPLAY_STATE TextState)
struct _BL_BUFFER_DESCRIPTOR BL_BUFFER_DESCRIPTOR
BL_MEMORY_DESCRIPTOR_LIST MmMdlCompleteBadMemory
VOID BfiFreeDeferredFontFile(_In_ PBL_DEFERRED_FONT_FILE DeferredFontFile)
EFI_GUID EfiSimpleTextInputExProtocol
NTSTATUS(* PBL_MM_MOVE_VIRTUAL_ADDRESS_RANGE)(_In_ PVOID DestinationAddress, _In_ PVOID SourceAddress, _In_ ULONGLONG Size)
#define BL_MM_INCLUDE_ONLY_FIRMWARE_MEMORY
NTSTATUS BlPdQueryData(_In_ const GUID *DataGuid, _In_ PVOID Unknown, _Inout_ PBL_PD_DATA_BLOB DataBlob)
enum _BL_MEMORY_ATTR BL_MEMORY_ATTR
NTSTATUS EfiStall(_In_ ULONG StallTime)
NTSTATUS ConsoleTextBaseGetTextState(_In_ struct _BL_TEXT_CONSOLE *Console, _Out_ PBL_DISPLAY_STATE TextState)
BOOLEAN ConsolepFindResolution(_In_ PBL_DISPLAY_MODE Mode, _In_ PBL_DISPLAY_MODE List, _In_ ULONG MaxIndex)
struct _BL_DEVICE_ENTRY * PBL_DEVICE_ENTRY
NTSTATUS TblDoNotPurgeEntry(_In_ PVOID Entry)
PBL_ARCH_CONTEXT CurrentExecutionContext
struct _BL_LOADED_APPLICATION_ENTRY BL_LOADED_APPLICATION_ENTRY
NTSTATUS(* PBL_TBL_MAP_ROUTINE)(_In_ PVOID Entry, _In_ ULONG EntryIndex)
_BL_GRAPHICS_CONSOLE_TYPE
VOID BlRemoveBootOption(_In_ PBL_BCD_OPTION List, _In_ ULONG Type)
PGUID BlGetApplicationIdentifier(VOID)
BL_MEMORY_DESCRIPTOR_LIST MmMdlMappedAllocated
FORCEINLINE VOID BlSetupDefaultParameters(_Out_ PBL_LIBRARY_PARAMETERS LibraryParameters)
PBL_MM_FLUSH_TLB BlMmFlushTlb
NTSTATUS ConsoleGraphicalGetGraphicalResolution(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _In_ PBL_DISPLAY_MODE DisplayMode)
NTSTATUS BlpResourceInitialize(VOID)
NTSTATUS BlHtDelete(_In_ ULONG TableId, _In_ PBL_HASH_ENTRY Entry)
NTSTATUS BlpSecureBootEFIIsEnabled(VOID)
struct _BL_WINDOWS_LOAD_OPTIONS * PBL_WINDOWS_LOAD_OPTIONS
ULONGLONG BlArchGetPerformanceCounter(VOID)
PBL_STATUS_ERROR_HANDLER BlpStatusErrorHandler
struct _BL_PD_DATA_BLOB * PBL_PD_DATA_BLOB
NTSTATUS BcInitialize(VOID)
BL_LIBRARY_PARAMETERS BlpLibraryParameters
VOID BlDestroyLibrary(VOID)
NTSTATUS BlTblSetEntry(_Inout_ PVOID **Table, _Inout_ PULONG Count, _In_ PVOID Entry, _Out_ PULONG EntryIndex, _In_ PBL_TBL_SET_ROUTINE Callback)
NTSTATUS(* PBL_FILE_GET_NEXT)(VOID)
BOOLEAN BlDisplayValidOemBitmap(VOID)
struct _BL_TEXT_CONSOLE BL_TEXT_CONSOLE
struct _BL_DISPLAY_MODE BL_DISPLAY_MODE
NTSTATUS(* PCONSOLE_GET_GRAPHICAL_RESOLUTION)(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _Out_ struct _BL_DISPLAY_MODE *DisplayMode)
struct _BL_MEMORY_DESCRIPTOR_LIST * PBL_MEMORY_DESCRIPTOR_LIST
struct _BL_DISPLAY_MODE * PBL_DISPLAY_MODE
NTSTATUS BlTblMap(_In_ PVOID *Table, _In_ ULONG Count, _In_ PBL_TBL_MAP_ROUTINE MapCallback)
NTSTATUS ConsoleTextLocalConstruct(_In_ PBL_TEXT_CONSOLE TextConsole, _In_ BOOLEAN Activate)
BL_MEMORY_DESCRIPTOR_LIST MmMdlFreeVirtual
EFI_DEVICE_PATH * EfiGetLeafNode(_In_ EFI_DEVICE_PATH *DevicePath)
NTSTATUS BlImgLoadBootApplication(_In_ PBL_LOADED_APPLICATION_ENTRY BootEntry, _Out_ PULONG AppHandle)
PIMAGE_SECTION_HEADER BlImgFindSection(_In_ PVOID ImageBase, _In_ ULONG ImageSize)
NTSTATUS BlCopyBootOptions(_In_ PBL_BCD_OPTION OptionList, _Out_ PBL_BCD_OPTION *CopiedOptions)
BL_MEMORY_DESCRIPTOR_LIST MmMdlUnmappedUnallocated
VOID(* PBL_MM_DESTROY_SELF_MAP)(VOID)
VOID ConsoleGraphicalDestruct(_In_ struct _BL_GRAPHICS_CONSOLE *Console)
NTSTATUS EfiConOutSetCursorPosition(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ ULONG Column, _In_ ULONG Row)
WCHAR BlScratchBuffer[8192]
NTSTATUS ConsoleTextLocalReinitialize(_In_ struct _BL_TEXT_CONSOLE *Console)
struct _DIB_HEADER * PDIB_HEADER
struct _BMP_HEADER * PBMP_HEADER
NTSTATUS(* PBL_FILE_DESTROY_CALLBACK)(_In_ PVOID Entry)
NTSTATUS ConsoleEfiGopOpen(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
struct _BL_FILE_INFORMATION * PBL_FILE_INFORMATION
struct _BL_RETURN_ARGUMENTS BL_RETURN_ARGUMENTS
struct _BL_DEVICE_INFORMATION BL_DEVICE_INFORMATION
BOOLEAN ConsoleGraphicalIsEnabled(_In_ struct _BL_GRAPHICS_CONSOLE *Console)
ULONG MmDescriptorCallTreeCount
struct _BL_DEVICE_CALLBACKS BL_DEVICE_CALLBACKS
enum _BL_PARTITION_TYPE BL_PARTITION_TYPE
NTSTATUS MmFwFreePages(_In_ ULONG BasePage, _In_ ULONG PageCount)
NTSTATUS BlMmMapPhysicalAddressEx(_In_ PVOID *VirtualAddress, _In_ ULONG Attributes, _In_ ULONGLONG Size, _In_ PHYSICAL_ADDRESS PhysicalAddress)
PBL_MM_ZERO_VIRTUAL_ADDRESS_RANGE BlMmZeroVirtualAddressRange
NTSTATUS BlAppendBootOptionString(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ ULONG OptionId, _In_ PWCHAR OptionString)
enum _BL_DEVICE_TYPE BL_DEVICE_TYPE
NTSTATUS BlDeviceSetInformation(_In_ ULONG DeviceId, _In_ PBL_DEVICE_INFORMATION DeviceInformation)
NTSTATUS(* PBL_IO_DESTROY_ROUTINE)(VOID)
VOID MmMdFreeList(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList)
NTSTATUS BlpGetBootOptionIntegerList(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PULONGLONG *Value, _Out_ PULONGLONG Count, _In_ BOOLEAN NoCopy)
NTSTATUS(* PCONSOLE_CLEAR_TEXT)(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ BOOLEAN LineOnly)
NTSTATUS BlpDisplayRegisterLocale(_In_ PWCHAR Locale)
enum _BL_MEMORY_CLASS BL_MEMORY_CLASS
BOOLEAN MmMdFindSatisfyingRegion(_In_ PBL_MEMORY_DESCRIPTOR Descriptor, _Out_ PBL_MEMORY_DESCRIPTOR NewDescriptor, _In_ ULONGLONG Pages, _In_ PBL_ADDRESS_RANGE BaseRange, _In_ PBL_ADDRESS_RANGE VirtualRange, _In_ BOOLEAN TopDown, _In_ BL_MEMORY_TYPE MemoryType, _In_ ULONG Flags, _In_ ULONG Alignment)
NTSTATUS MmMdRemoveRegionFromMdlEx(__in PBL_MEMORY_DESCRIPTOR_LIST MdList, __in ULONG Flags, __in ULONGLONG BasePage, __in ULONGLONG PageCount, __in PBL_MEMORY_DESCRIPTOR_LIST NewMdList)
struct _BL_MEMORY_DATA BL_MEMORY_DATA
NTSTATUS ConsoleGraphicalGetOriginalResolution(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _In_ PBL_DISPLAY_MODE DisplayMode)
NTSTATUS MmUnmapVirtualAddress(_Inout_ PVOID *VirtualAddress, _Inout_ PULONGLONG Size)
NTSTATUS BlGetBootOptionString(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PWCHAR *Value)
struct _BL_GRAPHICS_CONSOLE BL_GRAPHICS_CONSOLE
NTSTATUS(* PBL_FS_PURGE_CALLBACK)(VOID)
ULONG(* PBL_HASH_TABLE_HASH_FUNCTION)(_In_ struct _BL_HASH_ENTRY *Entry, _In_ ULONG TableSize)
NTSTATUS EfiConOutSetAttribute(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ ULONG Attribute)
NTSTATUS BlFwGetParameters(_In_ PBL_FIRMWARE_DESCRIPTOR Parameters)
struct _BL_BLOCK_DEVICE BL_BLOCK_DEVICE
struct _BL_ADDRESS_RANGE * PBL_ADDRESS_RANGE
struct _BL_BLOCK_DEVICE_INFORMATION BL_BLOCK_DEVICE_INFORMATION
@ BlMemoryValidCacheAttributeMask
@ BlMemoryExecuteProtected
@ BlMemoryValidProtectionAttributes
@ BlMemoryValidProtectionAttributeMask
@ BlMemoryValidAllocationAttributes
@ BlMemoryValidCacheAttributes
@ BlMemoryValidAllocationAttributeMask
@ BlMemoryValidTypeAttributes
@ BlMemoryValidTypeAttributeMask
@ BlMemoryUncachedExported
VOID EfiGopGetFrameBuffer(_In_ EFI_GRAPHICS_OUTPUT_PROTOCOL *GopInterface, _Out_ PHYSICAL_ADDRESS *FrameBuffer, _Out_ UINTN *FrameBufferSize)
struct _DIB_HEADER DIB_HEADER
VOID MmMdInitializeList(_In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList, _In_ ULONG Type, _In_ PLIST_ENTRY ListHead)
EFI_GUID EfiUgaDrawProtocol
NTSTATUS BlGetApplicationBaseAndSize(_Out_ PVOID *ImageBase, _Out_ PULONG ImageSize)
VOID MmMdInitialize(_In_ ULONG Phase, _In_ PBL_LIBRARY_PARAMETERS LibraryParameters)
NTSTATUS(* PBL_MM_ZERO_VIRTUAL_ADDRESS_RANGE)(_In_ PVOID DestinationAddress, _In_ ULONGLONG Size)
NTSTATUS EtfsInitialize(VOID)
NTSTATUS(* PBL_FILE_GET_INFO)(_In_ struct _BL_FILE_ENTRY *FileEntry, _Out_ struct _BL_FILE_INFORMATION *FileInfo)
NTSTATUS BlpArchInitialize(_In_ ULONG Phase)
NTSTATUS BlDisplaySetScreenResolution(VOID)
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL * EfiConInEx
NTSTATUS BlpMmInitializeConstraints(VOID)
struct _BL_FILE_PATH_DESCRIPTOR * PBL_FILE_PATH_DESCRIPTOR
NTSTATUS EfiConOutOutputString(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ PWCHAR String)
NTSTATUS EfiConOutEnableCursor(_In_ SIMPLE_TEXT_OUTPUT_INTERFACE *TextInterface, _In_ BOOLEAN Visible)
NTSTATUS(* PBL_DEVICE_READ)(_In_ struct _BL_DEVICE_ENTRY *DeviceEntry, _In_ PVOID Buffer, _In_ ULONG Size, _Out_ PULONG BytesRead)
ULONG ConsoleGraphicalResolutionListFlags
struct _BL_DEVICE_INFORMATION * PBL_DEVICE_INFORMATION
BL_LOADED_APPLICATION_ENTRY BlpApplicationEntry
struct _BL_FILE_SYSTEM_ENTRY * PBL_FILE_SYSTEM_ENTRY
NTSTATUS(* PBL_DEVICE_GET_INFORMATION)(_In_ struct _BL_DEVICE_ENTRY *DeviceEntry, _Out_ struct _BL_DEVICE_INFORMATION *DeviceInformation)
NTSTATUS ConsoleInputBaseReinitialize(_In_ struct _BL_INPUT_CONSOLE *Console)
BL_MEMORY_DESCRIPTOR_LIST MmMdlFwAllocationTracker
NTSTATUS MmMdTruncateDescriptors(_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList, _In_ PBL_MEMORY_DESCRIPTOR_LIST NewList, _In_ ULONGLONG BasePage)
BOOLEAN(* PCONSOLE_IS_ENABLED)(_In_ struct _BL_GRAPHICS_CONSOLE *Console)
NTSTATUS BlFileClose(_In_ ULONG FileId)
NTSTATUS(* PBL_FILE_READ)(_In_ struct _BL_FILE_ENTRY *FileEntry, _In_ PVOID Buffer, _In_ ULONG Size, _Out_opt_ PULONG BytesRead)
NTSTATUS ConsoleGraphicalEnable(_In_ struct _BL_GRAPHICS_CONSOLE *Console, _In_ BOOLEAN Enable)
NTSTATUS EtfsMount(_In_ ULONG DeviceId, _In_ ULONG Unknown, _Out_ PBL_FILE_ENTRY *FileEntry)
BOOLEAN BlBdDebuggerEnabled(VOID)
struct _BL_HASH_VALUE * PBL_HASH_VALUE
PBITMAP BlDisplayGetOemBitmap(_Out_ PCOORD Offset, _Out_opt_ PULONG Flags)
PVOID DspRemoteInputConsole
struct _BL_REMOTE_CONSOLE BL_REMOTE_CONSOLE
FORCEINLINE PVOID PhysicalAddressToPtr(_In_ PHYSICAL_ADDRESS PhysicalAddress)
EFI_GUID EfiGlobalVariable
NTSTATUS(* PCONSOLE_GET_TEXT_STATE)(_In_ struct _BL_TEXT_CONSOLE *Console, _Out_ struct _BL_DISPLAY_STATE *TextState)
NTSTATUS BlFileReadAtOffsetEx(_In_ ULONG FileId, _In_ ULONG Size, _In_ ULONGLONG ByteOffset, _In_ PVOID Buffer, _Out_ PULONG BytesReturned, _In_ ULONG Flags)
NTSTATUS ConsoleCreateLocalInputCnsole(VOID)
NTSTATUS BlpDeviceInitialize(VOID)
PBL_BCD_OPTION MiscGetBootOption(_In_ PBL_BCD_OPTION List, _In_ ULONG Type)
struct _BL_IMG_FILE * PBL_IMG_FILE
enum _BL_LOCAL_DEVICE_TYPE BL_LOCAL_DEVICE_TYPE
NTSTATUS ConsoleEfiUgaOpen(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
#define BL_MM_INCLUDE_NO_FIRMWARE_MEMORY
VOID BlUtlUpdateProgress(_In_ ULONG Percentage, _Out_opt_ PBOOLEAN Completed)
struct _BL_BCD_OPTION BL_BCD_OPTION
NTSTATUS BlMmFreeHeap(_In_ PVOID Buffer)
NTSTATUS(* PBL_FILE_CLOSE)(_In_ struct _BL_FILE_ENTRY *FileEntry)
VOID BlStatusPrint(_In_ PCWCH Format,...)
enum _BL_MENU_POLICY BL_MENU_POLICY
NTSTATUS BlpMmCreateBlockAllocator(VOID)
NTSTATUS(* PBL_TBL_SET_ROUTINE)(_In_ PVOID Entry)
NTSTATUS BlImgUnloadBootApplication(_In_ ULONG AppHandle)
struct _BL_LOADED_APPLICATION_ENTRY * PBL_LOADED_APPLICATION_ENTRY
NTSTATUS BlpFileInitialize(VOID)
NTSTATUS EfiGopSetMode(_In_ EFI_GRAPHICS_OUTPUT_PROTOCOL *GopInterface, _In_ ULONG Mode)
struct _BL_TEXT_CONSOLE_VTABLE BL_TEXT_CONSOLE_VTABLE
NTSTATUS BlpIoRegisterDestroyRoutine(_In_ PBL_IO_DESTROY_ROUTINE DestroyRoutine)
NTSTATUS BlImgStartBootApplication(_In_ ULONG AppHandle, _Inout_ PBL_RETURN_ARGUMENTS ReturnArguments)
NTSTATUS ConsoleTextBaseGetTextResolution(_In_ struct _BL_TEXT_CONSOLE *Console, _Out_ PULONG TextResolution)
NTSTATUS MmFwGetMemoryMap(_Out_ PBL_MEMORY_DESCRIPTOR_LIST MemoryMap, _In_ ULONG Flags)
VOID BlStatusError(_In_ ULONG ErrorCode, _In_ ULONG Parameter1, _In_ ULONG_PTR Parameter2, _In_ ULONG_PTR Parameter3, _In_ ULONG_PTR Parameter4)
NTSTATUS(* PBL_STATUS_ERROR_HANDLER)(_In_ ULONG ErrorCode, _In_ ULONG Parameter1, _In_ ULONG_PTR Parameter2, _In_ ULONG_PTR Parameter3, _In_ ULONG_PTR Parameter4)
NTSTATUS ConsoleTextLocalClearText(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ BOOLEAN LineOnly)
NTSTATUS BlpFwInitialize(_In_ ULONG Phase, _In_ PBL_FIRMWARE_DESCRIPTOR FirmwareParameters)
VOID Archx86TransferTo32BitApplicationAsm(VOID)
NTSTATUS EfiAllocatePages(_In_ ULONG Type, _In_ ULONG Pages, _Inout_ EFI_PHYSICAL_ADDRESS *Memory)
NTSTATUS BlAppendBootOptionBoolean(_In_ PBL_LOADED_APPLICATION_ENTRY AppEntry, _In_ ULONG OptionId, _In_ BOOLEAN Value)
struct _BL_FILE_ENTRY * PBL_FILE_ENTRY
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * EfiConOut
NTSTATUS(* PBL_FS_DESTROY_CALLBACK)(VOID)
NTSTATUS MmBaInitialize(VOID)
NTSTATUS(* PCONSOLE_WRITE_TEXT)(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ PCHAR Text, _In_ ULONG Attribute)
NTSTATUS(* PBL_DEVICE_FLUSH)(VOID)
NTSTATUS MmSelectMappingAddress(_Out_ PVOID *MappingAddress, _In_ PVOID PreferredAddress, _In_ ULONGLONG Size, _In_ ULONG AllocationAttributes, _In_ ULONG Flags, _In_ PHYSICAL_ADDRESS PhysicalAddress)
BOOLEAN BlMmTranslateVirtualAddress(_In_ PVOID VirtualAddress, _Out_ PPHYSICAL_ADDRESS PhysicalAddress)
struct _BL_GRAPHICS_CONSOLE_VTABLE * PBL_GRAPHICS_CONSOLE_VTABLE
NTSTATUS BlGetBootOptionInteger(_In_ PBL_BCD_OPTION List, _In_ ULONG Type, _Out_ PULONGLONG Value)
NTSTATUS EfiLocateHandleBuffer(_In_ EFI_LOCATE_SEARCH_TYPE SearchType, _In_ EFI_GUID *Protocol, _Inout_ PULONG HandleCount, _Inout_ EFI_HANDLE **Buffer)
NTSTATUS EfipGetRsdt(_Out_ PPHYSICAL_ADDRESS FoundRsdt)
NTSTATUS ConsoleGraphicalClearPixels(_In_ PBL_GRAPHICS_CONSOLE Console, _In_ ULONG Color)
VOID(* PBL_MM_FLUSH_TLB_ENTRY)(_In_ PVOID VirtualAddress)
struct _BL_FILE_SYSTEM_REGISTRATION_TABLE BL_FILE_SYSTEM_REGISTRATION_TABLE
NTSTATUS BlDisplayClearScreen(VOID)
struct _BL_TEXT_CONSOLE * PBL_TEXT_CONSOLE
NTSTATUS BiDeleteKey(_In_ HANDLE KeyHandle)
VOID ConsoleEfiGopClose(_In_ PBL_GRAPHICS_CONSOLE GraphicsConsole)
struct _BL_BLOCK_DEVICE_INFORMATION * PBL_BLOCK_DEVICE_INFORMATION
VOID(* PBL_MM_FLUSH_TLB)(VOID)
ULONG BlGetBootOptionListSize(_In_ PBL_BCD_OPTION BcdOption)
NTSTATUS EfiConInExReset(VOID)
NTSTATUS BiEnumerateSubKeys(_In_ HANDLE KeyHandle, _Out_ PWCHAR **SubKeyList, _Out_ PULONG SubKeyCount)
NTSTATUS ConsoleTextLocalSetTextState(_In_ struct _BL_TEXT_CONSOLE *Console, _In_ ULONG Flags, _In_ PBL_DISPLAY_STATE TextState)
NTSTATUS(* PBL_MM_MAP_PHYSICAL_ADDRESS)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _Out_ PVOID VirtualAddress, _In_ ULONG Size, _In_ ULONG CacheAttributes)
NTSTATUS BiLoadHive(_In_ PBL_FILE_PATH_DESCRIPTOR FilePath, _Out_ PHANDLE HiveHandle)
struct _BL_HASH_TABLE * PBL_HASH_TABLE
VOID ConsolepClearBuffer(_In_ PUCHAR FrameBuffer, _In_ ULONG Width, _In_ PUCHAR FillColor, _In_ ULONG Height, _In_ ULONG ScanlineWidth, _In_ ULONG PixelDepth)
BL_MEMORY_DESCRIPTOR_LIST MmMdlPersistentMemory
struct _BL_DISPLAY_STATE * PBL_DISPLAY_STATE
NTSTATUS(* PBL_DEVICE_WRITE)(VOID)
NTSTATUS ConsoleFirmwareTextClear(_In_ PBL_TEXT_CONSOLE Console, _In_ BOOLEAN LineOnly)
struct _BL_HASH_VALUE BL_HASH_VALUE
NTSTATUS BlHtLookup(_In_ ULONG TableId, _In_ PBL_HASH_ENTRY Entry, _Out_ PBL_HASH_VALUE *Value)
NTSTATUS EfiConInReset(VOID)
VOID(* PCONSOLE_DESTRUCT)(_In_ struct _BL_TEXT_CONSOLE *Console)
enum _BL_ARCH_MODE BL_ARCH_MODE
PBL_MEMORY_DESCRIPTOR MmMdFindDescriptor(_In_ ULONG WhichList, _In_ ULONG Flags, _In_ ULONGLONG Page)
BIOS_MEMORY_MAP MemoryMap[32]
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
static const WCHAR Signature[]
#define InitializeListHead(ListHead)
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset
struct _FileName FileName
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
InternalIoctlParams Argument4
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_In_ NDIS_ERROR_CODE ErrorCode
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG AllocationAttributes
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
_In_ PVOID _Out_opt_ BOOLEAN _Out_opt_ PPFN_NUMBER Page
static VIDEODISPLAYMODE DisplayMode
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
base for all directory entries
base of all file and directory entries
BL_TRANSLATION_TYPE TranslationType
BL_BLOCK_DEVICE_INFORMATION
PBL_DEVICE_DESCRIPTOR Device
PBL_DEVICE_GET_INFORMATION GetInformation
PBL_DEVICE_SET_INFORMATION SetInformation
PBL_DEVICE_ENUMERATE_DEVICE_CLASS EnumerateDeviceClass
union _BL_DEVICE_DESCRIPTOR::@132::@135::@137 Gpt
struct _BL_DEVICE_DESCRIPTOR::@132::@134 Remote
struct _BL_DEVICE_DESCRIPTOR::@132::@135 Partition
union _BL_DEVICE_DESCRIPTOR::@132::@135::@136 Mbr
PBL_DEVICE_DESCRIPTOR DeviceDescriptor
BL_DEVICE_CALLBACKS Callbacks
PBL_FILE_SET_INFO SetInfo
PBL_FILE_GET_INFO GetInfo
PBL_FILE_GET_NEXT GetNext
BL_FILE_CALLBACKS Callbacks
UCHAR Path[ANYSIZE_ARRAY]
PBL_FS_PURGE_CALLBACK PurgeCallback
PBL_FS_DESTROY_CALLBACK DestroyCallback
PBL_FS_INIT_CALLBACK InitCallback
PBL_FS_MOUNT_CALLBACK MountCallback
PBL_FS_PURGE_CALLBACK Purge
PBL_FS_MOUNT_CALLBACK Mount
PBL_FS_DESTROY_CALLBACK Destroy
PBL_FS_INIT_CALLBACK Init
EFI_SYSTEM_TABLE * SystemTable
PCONSOLE_IS_ENABLED IsEnabled
BL_TEXT_CONSOLE_VTABLE Text
PCONSOLE_GET_GRAPHICAL_RESOLUTION GetOriginalResolution
PCONSOLE_GET_GRAPHICAL_RESOLUTION GetGraphicalResolution
PCONSOLE_SET_GRAPHICAL_RESOLUTION SetOriginalResolution
PVOID GetConsoleResolution
EFI_GRAPHICS_OUTPUT_PROTOCOL * Protocol
BL_GRAPHICS_CONSOLE_TYPE Type
BL_DISPLAY_MODE OldDisplayMode
BL_DISPLAY_MODE DisplayMode
BL_TEXT_CONSOLE TextConsole
struct _BL_HARDDISK_DEVICE::@123::@125 Mbr
struct _BL_HARDDISK_DEVICE::@123::@127 Raw
struct _BL_HARDDISK_DEVICE::@123::@126 Gpt
PBL_HASH_TABLE_HASH_FUNCTION HashFunction
PBL_HASH_TABLE_COMPARE_FUNCTION CompareFunction
PBL_APPLICATION_ENTRY AppEntry
PWCHAR ApplicationBaseDirectory
ULONG HeapAllocationAttributes
ULONG MinimumAllocationCount
BL_HARDDISK_DEVICE VirtualHardDisk
BL_HARDDISK_DEVICE HardDisk
PHYSICAL_ADDRESS ImageBase
BL_LOCAL_DEVICE_TYPE Type
struct _BL_LOCAL_DEVICE::@128::@131 RamDisk
struct _BL_LOCAL_DEVICE::@128::@130 FloppyDisk