Fix Boot Services table

This commit is contained in:
Jozef Nagy 2024-01-20 23:35:46 +01:00
parent 6e6753a131
commit 296d62f96e
No known key found for this signature in database
GPG key ID: 2D281D7D04AF4A3C

80
efi.h
View file

@ -274,7 +274,17 @@ EFI_STATUS
// EFI Runtime Services
typedef
VOID
EFI_STATUS
(EFIAPI *EFI_GET_VARIABLE)(
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
OUT UINT32 *Attributes OPTIONAL,
IN OUT UINTN *DataSize,
OUT VOID *Data OPTIONAL
);
typedef
EFI_STATUS
(EFIAPI *EFI_RESET_SYSTEM)(
IN EFI_RESET_TYPE ResetType,
IN EFI_STATUS ResetStatus,
@ -684,7 +694,7 @@ typedef struct EFI_RUNTIME_SERVICES {
void *ConvertPointer;
// Variable Services
void *GetVariable;
EFI_GET_VARIABLE GetVariable;
void *GetNextVariableName;
void *SetVariable;
@ -703,49 +713,73 @@ typedef struct EFI_RUNTIME_SERVICES {
// EFI Boot Services
typedef struct EFI_BOOT_SERVICES {
EFI_CREATE_EVENT CreateEvent;
EFI_CREATE_EVENT_EX CreateEventEx;
EFI_CLOSE_EVENT CloseEvent;
EFI_SIGNAL_EVENT SignalEvent;
EFI_WAIT_FOR_EVENT WaitForEvent;
EFI_CHECK_EVENT CheckEvent;
EFI_SET_TIMER SetTimer;
EFI_TABLE_HEADER Hdr;
// Task Priority Services
EFI_RAISE_TPL RaiseTPL;
EFI_RESTORE_TPL RestoreTPL;
// Memory Services
EFI_ALLOCATE_PAGES AllocatePages;
EFI_FREE_PAGES FreePages;
EFI_GET_MEMORY_MAP GetMemoryMap;
EFI_ALLOCATE_POOL AllocatePool;
EFI_FREE_POOL FreePool;
// Event & Timer Services
EFI_CREATE_EVENT CreateEvent;
EFI_SET_TIMER SetTimer;
EFI_WAIT_FOR_EVENT WaitForEvent;
EFI_SIGNAL_EVENT SignalEvent;
EFI_CLOSE_EVENT CloseEvent;
EFI_CHECK_EVENT CheckEvent;
// Protocol Handler Services
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
EFI_HANDLE_PROTOCOL HandleProtocol;
void *Reserved;
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
EFI_LOCATE_HANDLE LocateHandle;
EFI_HANDLE_PROTOCOL HandleProtocol;
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
// Image Services
EFI_IMAGE_LOAD LoadImage;
EFI_IMAGE_START StartImage;
EFI_EXIT Exit;
EFI_IMAGE_UNLOAD UnloadImage;
EFI_EXIT_BOOT_SERVICES ExitBootServices;
// Miscellaneous Services
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
EFI_STALL Stall;
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
// DriverSupport Services
EFI_CONNECT_CONTROLLER ConnectController;
EFI_DISCONNECT_CONTROLLER DisconnectController;
// Open and Close Protocol Services
EFI_OPEN_PROTOCOL OpenProtocol;
EFI_CLOSE_PROTOCOL CloseProtocol;
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
EFI_CONNECT_CONTROLLER ConnectController;
EFI_DISCONNECT_CONTROLLER DisconnectController;
// Library Services
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
EFI_LOCATE_PROTOCOL LocateProtocol;
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
EFI_IMAGE_LOAD LoadImage;
EFI_IMAGE_START StartImage;
EFI_IMAGE_UNLOAD UnloadImage;
EFI_EXIT Exit;
EFI_EXIT_BOOT_SERVICES ExitBootServices;
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
EFI_STALL Stall;
// 32-bit CRC Services
EFI_CALCULATE_CRC32 CalculateCrc32;
// Miscellaneous Services
EFI_COPY_MEM CopyMem;
EFI_SET_MEM SetMem;
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
EFI_CALCULATE_CRC32 CalculateCrc32;
EFI_CREATE_EVENT_EX CreateEventEx;
} EFI_BOOT_SERVICES;
// EFI System Table