Add temporary solution for mapping modules code
This commit is contained in:
parent
ed8b93beb0
commit
d7abe40e5d
@ -74,6 +74,7 @@ typedef EFI_STATUS (*PBL_FIND_BOOT_PROTOCOL)(IN PWCHAR SystemType, OUT PEFI_GUID
|
||||
typedef EFI_STATUS (*PBL_FREE_PAGES)(IN UINT64 Size, IN EFI_PHYSICAL_ADDRESS Memory);
|
||||
typedef EFI_STATUS (*PBL_FREE_POOL)(IN PVOID Memory);
|
||||
typedef EFI_STATUS (*PBL_GET_MEMORY_MAP)(OUT PEFI_MEMORY_MAP MemoryMap);
|
||||
typedef PLIST_ENTRY (*PBL_GET_MODULES_LIST)();
|
||||
typedef INT_PTR (*PBL_GET_SECURE_BOOT_STATUS)();
|
||||
typedef EFI_STATUS (*PBL_INVOKE_BOOT_PROTOCOL)(IN PLIST_ENTRY OptionsList);
|
||||
typedef EFI_STATUS (*PBL_OPEN_VOLUME)(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath, OUT PEFI_HANDLE DiskHandle, OUT PEFI_FILE_HANDLE *FsHandle);
|
||||
@ -244,6 +245,7 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
} Memory;
|
||||
struct
|
||||
{
|
||||
PBL_GET_MODULES_LIST GetModulesList;
|
||||
PBL_OPEN_XT_PROTOCOL Open;
|
||||
PBL_REGISTER_XT_PROTOCOL Register;
|
||||
} Protocol;
|
||||
|
@ -106,6 +106,10 @@ XTCDECL
|
||||
EFI_STATUS
|
||||
BlGetMemoryMap(OUT PEFI_MEMORY_MAP MemoryMap);
|
||||
|
||||
XTCDECL
|
||||
PLIST_ENTRY
|
||||
BlGetModulesList();
|
||||
|
||||
XTCDECL
|
||||
INT_PTR
|
||||
BlGetSecureBootStatus();
|
||||
|
@ -52,6 +52,23 @@ BlFindBootProtocol(IN PWCHAR SystemType,
|
||||
return STATUS_EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a linked list of all loaded modules.
|
||||
*
|
||||
* @return This routine returns a pointer to a linked list of all loaded modules.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*
|
||||
* @todo This is a temporary solution and it should be replaced by a complex API allowing to map modules.
|
||||
*/
|
||||
XTCDECL
|
||||
PLIST_ENTRY
|
||||
BlGetModulesList()
|
||||
{
|
||||
/* Return a pointer to a list of all loaded modules */
|
||||
return &BlpLoadedModules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a specified XTLDR module from disk.
|
||||
*
|
||||
@ -404,7 +421,7 @@ BlOpenProtocol(OUT PVOID *ProtocolHandler,
|
||||
*/
|
||||
XTCDECL
|
||||
VOID
|
||||
BlRegisterBootMenu(PVOID BootMenuRoutine)
|
||||
BlRegisterBootMenu(IN PVOID BootMenuRoutine)
|
||||
{
|
||||
/* Set boot menu routine */
|
||||
BlpStatus.BootMenu = BootMenuRoutine;
|
||||
@ -529,6 +546,7 @@ BlpRegisterXtLoaderProtocol()
|
||||
BlpLdrProtocol.Memory.FreePages = BlMemoryFreePages;
|
||||
BlpLdrProtocol.Memory.FreePool = BlMemoryFreePool;
|
||||
BlpLdrProtocol.Memory.GetMemoryMap = BlGetMemoryMap;
|
||||
BlpLdrProtocol.Protocol.GetModulesList = BlGetModulesList;
|
||||
BlpLdrProtocol.Protocol.Open = BlOpenProtocol;
|
||||
BlpLdrProtocol.Protocol.Register = BlRegisterProtocol;
|
||||
BlpLdrProtocol.Tui.DisplayErrorDialog = BlDisplayErrorDialog;
|
||||
|
Loading…
Reference in New Issue
Block a user