Import old and deprecated 'pecoff_o' module from old XTLDR
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 38s
Builds / ExectOS (i686) (push) Failing after 15s

This commit is contained in:
2024-01-02 18:31:58 +01:00
parent ee0603c318
commit 45e2a7ec66
5 changed files with 744 additions and 46 deletions

View File

@@ -64,6 +64,11 @@ typedef VOID (*PBL_CONSOLE_SET_ATTRIBUTES)(IN ULONGLONG Attributes);
typedef VOID (*PBL_CONSOLE_SET_CURSOR_POSITION)(IN ULONGLONG PosX, IN ULONGLONG PosY);
typedef VOID (*PBL_CONSOLE_WRITE)(IN PUSHORT String);
typedef VOID (*PBL_DEBUG_PRINT)(IN PUINT16 Format, IN ...);
typedef EFI_STATUS (*PBL_EXECIMAGE_GET_ENTRY_POINT)(IN PVOID ImagePointer, OUT PVOID *EntryPoint);
typedef EFI_STATUS (*PBL_EXECIMAGE_GET_MACHINE_TYPE)(IN PVOID ImagePointer, OUT PUSHORT MachineType);
typedef EFI_STATUS (*PBL_EXECIMAGE_GET_SUBSYSTEM)(IN PVOID ImagePointer, OUT PUSHORT SubSystem);
typedef EFI_STATUS (*PBL_EXECIMAGE_LOAD_IMAGE)(IN PEFI_FILE_HANDLE FileHandle, IN LOADER_MEMORY_TYPE MemoryType, IN PVOID VirtualAddress, OUT PVOID *ImagePointer);
typedef EFI_STATUS (*PBL_EXECIMAGE_RELOCATE_IMAGE)(IN PVOID ImagePointer, IN EFI_VIRTUAL_ADDRESS Address);
typedef EFI_STATUS (*PBL_EXIT_BOOT_SERVICES)(IN UINT_PTR MapKey);
typedef EFI_STATUS (*PBL_FIND_BOOT_PROTOCOL)(IN PWCHAR SystemType, OUT PEFI_GUID BootProtocolGuid);
typedef EFI_STATUS (*PBL_FREE_PAGES)(IN UINT64 Size, IN EFI_PHYSICAL_ADDRESS Memory);
@@ -84,26 +89,6 @@ typedef VOID (*PBL_TUI_UPDATE_PROGRESS_BAR)(IN PXTBL_DIALOG_HANDLE Handle, IN PW
typedef EFI_STATUS (*PBL_WAIT_FOR_EFI_EVENT)(IN UINT_PTR NumberOfEvents, IN PEFI_EVENT Event, OUT PUINT_PTR Index);
typedef VOID (*PBL_XT_BOOT_MENU)();
/* XTLDR Boot protocol structure */
typedef struct _XTBL_BOOT_PROTOCOL
{
PBL_BOOTPROTO_BOOT_SYSTEM BootSystem;
} XTBL_BOOT_PROTOCOL, *PXTBL_BOOT_PROTOCOL;
/* XTLDR Executable image protocol structure */
typedef struct _XTBL_EXECUTABLE_IMAGE_PROTOCOL
{
// PBL_EXECIMAGE_GET_ENTRY_POINT GetEntryPoint;
// PBL_EXECIMAGE_GET_MACHINE_TYPE GetMachineType;
// PBL_EXECIMAGE_GET_SECTION GetSection;
// PBL_EXECIMAGE_GET_SUBSYSTEM GetSubSystem;
// PBL_EXECIMAGE_GET_VERSION GetVersion;
// PBL_EXECIMAGE_LOAD_IMAGE LoadImage;
// PBL_EXECIMAGE_PRINT_INFO PrintDebugInfo;
// PBL_EXECIMAGE_RELOCATE_IMAGE RelocateImage;
// PBL_EXECUTABLE_VERIFY_IMAGE VerifyImage;
} XTBL_EXECUTABLE_IMAGE_PROTOCOL, *PXTBL_EXECUTABLE_IMAGE_PROTOCOL;
/* Boot parameters structure */
typedef struct _XTBL_BOOT_PARAMETERS
{
@@ -162,6 +147,52 @@ typedef struct _XTBL_KNOWN_BOOT_PROTOCOL
EFI_GUID Guid;
} XTBL_KNOWN_BOOT_PROTOCOL, *PXTBL_KNOWN_BOOT_PROTOCOL;
/* XTLDR Module dependencies data */
typedef struct _XTBL_MODULE_DEPS
{
LIST_ENTRY Flink;
PWCHAR ModuleName;
} XTBL_MODULE_DEPS, *PXTBL_MODULE_DEPS;
/* XTLDR Module information data */
typedef struct _XTBL_MODULE_INFO
{
LIST_ENTRY Flink;
PWCHAR ModuleName;
PWCHAR ModuleDescription;
LIST_ENTRY Dependencies;
} XTBL_MODULE_INFO, *PXTBL_MODULE_INFO;
/* XTLDR Status data */
typedef struct _XTBL_STATUS
{
PBL_XT_BOOT_MENU BootMenu;
BOOLEAN BootServices;
ULONG DebugPort;
INT_PTR SecureBoot;
CPPORT SerialPort;
} XTBL_STATUS, *PXTBL_STATUS;
/* XTLDR Boot protocol structure */
typedef struct _XTBL_BOOT_PROTOCOL
{
PBL_BOOTPROTO_BOOT_SYSTEM BootSystem;
} XTBL_BOOT_PROTOCOL, *PXTBL_BOOT_PROTOCOL;
/* XTLDR Executable image protocol structure */
typedef struct _XTBL_EXECUTABLE_IMAGE_PROTOCOL
{
PBL_EXECIMAGE_GET_ENTRY_POINT GetEntryPoint;
PBL_EXECIMAGE_GET_MACHINE_TYPE GetMachineType;
// PBL_EXECIMAGE_GET_SECTION GetSection;
PBL_EXECIMAGE_GET_SUBSYSTEM GetSubSystem;
// PBL_EXECIMAGE_GET_VERSION GetVersion;
PBL_EXECIMAGE_LOAD_IMAGE LoadImage;
// PBL_EXECIMAGE_PRINT_INFO PrintDebugInfo;
PBL_EXECIMAGE_RELOCATE_IMAGE RelocateImage;
// PBL_EXECUTABLE_VERIFY_IMAGE VerifyImage;
} XTBL_EXECUTABLE_IMAGE_PROTOCOL, *PXTBL_EXECUTABLE_IMAGE_PROTOCOL;
/* XTLDR Loader protocol */
typedef struct _XTBL_LOADER_PROTOCOL
{
@@ -225,30 +256,4 @@ typedef struct _XTBL_LOADER_PROTOCOL
} Util;
} XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL;
/* XTLDR Module dependencies data */
typedef struct _XTBL_MODULE_DEPS
{
LIST_ENTRY Flink;
PWCHAR ModuleName;
} XTBL_MODULE_DEPS, *PXTBL_MODULE_DEPS;
/* XTLDR Module information data */
typedef struct _XTBL_MODULE_INFO
{
LIST_ENTRY Flink;
PWCHAR ModuleName;
PWCHAR ModuleDescription;
LIST_ENTRY Dependencies;
} XTBL_MODULE_INFO, *PXTBL_MODULE_INFO;
/* XTLDR Status data */
typedef struct _XTBL_STATUS
{
PBL_XT_BOOT_MENU BootMenu;
BOOLEAN BootServices;
ULONG DebugPort;
INT_PTR SecureBoot;
CPPORT SerialPort;
} XTBL_STATUS, *PXTBL_STATUS;
#endif /* __XTDK_BLTYPES_H */