XTLDR Rewrite #7

Merged
belliash merged 184 commits from xtldr_rewrite into master 2024-01-09 18:51:04 +01:00
2 changed files with 9 additions and 0 deletions
Showing only changes of commit a261c68808 - Show all commits

View File

@ -31,6 +31,7 @@
/* Loader protocol routine pointers */
typedef EFI_STATUS (*PBL_ALLOCATE_PAGES)(IN UINT64 Size, OUT PEFI_PHYSICAL_ADDRESS Memory);
typedef EFI_STATUS (*PBL_ALLOCATE_POOL)(IN UINT_PTR Size, OUT PVOID *Memory);
typedef EFI_STATUS (*PBL_CLOSE_VOLUME)(IN PEFI_HANDLE VolumeHandle);
typedef VOID (*PBL_CONSOLE_CLEAR_SCREEN)();
typedef VOID (*PBL_CONSOLE_DISABLE_CURSOR)();
typedef VOID (*PBL_CONSOLE_ENABLE_CURSOR)();
@ -39,6 +40,7 @@ typedef VOID (*PBL_DEBUG_PRINT)(IN PUINT16 Format, IN ...);
typedef EFI_STATUS (*PBL_EXIT_BOOT_SERVICES)(IN UINT_PTR MapKey);
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_OPEN_VOLUME)(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath, OUT PEFI_HANDLE DiskHandle, OUT PEFI_FILE_HANDLE *FsHandle);
typedef EFI_STATUS (*PBL_OPEN_XT_PROTOCOL)(OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid);
typedef VOID (*PBL_SLEEP_EXECUTION)(IN ULONG_PTR Milliseconds);
@ -91,6 +93,11 @@ typedef struct _XTBL_LOADER_PROTOCOL
PBL_EXIT_BOOT_SERVICES ExitBootServices;
PBL_SLEEP_EXECUTION SleepExecution;
} Util;
struct
{
PBL_CLOSE_VOLUME Close;
PBL_OPEN_VOLUME Open;
} Volume;
} XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL;
#endif /* __XTDK_BMTYPES_H */

View File

@ -102,6 +102,8 @@ BlpRegisterXtLoaderProtocol()
LdrProtocol.Protocol.Open = BlOpenXtProtocol;
LdrProtocol.Util.ExitBootServices = BlExitBootServices;
LdrProtocol.Util.SleepExecution = BlSleepExecution;
LdrProtocol.Volume.Close = BlCloseVolume;
LdrProtocol.Volume.Open = BlOpenVolume;
/* Register XTLDR loader protocol */
BlDebugPrint(L"Registering XT loader protocol\n");