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