#include <Protocol/SimpleTextIn.h>\r
#include <Protocol/SimpleTextOut.h>\r
\r
-//\r
-// Networking Definitions\r
-//\r
-typedef struct {\r
- UINT8 Addr[4];\r
-} EFI_IPv4_ADDRESS;\r
-\r
-typedef struct {\r
- UINT8 Addr[16];\r
-} EFI_IPv6_ADDRESS;\r
-\r
-typedef struct {\r
- UINT8 Addr[32];\r
-} EFI_MAC_ADDRESS;\r
-\r
-typedef union {\r
- UINT32 Addr[4];\r
- EFI_IPv4_ADDRESS v4;\r
- EFI_IPv6_ADDRESS v6;\r
-} EFI_IP_ADDRESS;\r
-\r
-\r
//\r
// Enumeration of memory allocation.\r
// \r
//\r
// physical memory protection on range\r
//\r
-#define EFI_MEMORY_WP 0x0000000000001000ULL\r
-#define EFI_MEMORY_RP 0x0000000000002000ULL\r
-#define EFI_MEMORY_XP 0x0000000000004000ULL\r
+#define EFI_MEMORY_WP 0x0000000000001000ULL\r
+#define EFI_MEMORY_RP 0x0000000000002000ULL\r
+#define EFI_MEMORY_XP 0x0000000000004000ULL\r
\r
//\r
// range requires a runtime mapping\r
\r
#define EFI_MEMORY_DESCRIPTOR_VERSION 1\r
typedef struct {\r
- UINT32 Type;\r
- EFI_PHYSICAL_ADDRESS PhysicalStart;\r
- EFI_VIRTUAL_ADDRESS VirtualStart;\r
- UINT64 NumberOfPages;\r
- UINT64 Attribute;\r
+ UINT32 Type;\r
+ EFI_PHYSICAL_ADDRESS PhysicalStart;\r
+ EFI_VIRTUAL_ADDRESS VirtualStart;\r
+ UINT64 NumberOfPages;\r
+ UINT64 Attribute;\r
} EFI_MEMORY_DESCRIPTOR;\r
\r
//\r
// EVT_TIMER might be ¡°Ored¡± with EVT_NOTIFY_WAIT or\r
// EVT_NOTIFY_SIGNAL.\r
//\r
-#define EVT_TIMER 0x80000000\r
-#define EVT_RUNTIME 0x40000000\r
+#define EVT_TIMER 0x80000000\r
+#define EVT_RUNTIME 0x40000000\r
\r
-#define EVT_NOTIFY_WAIT 0x00000100\r
-#define EVT_NOTIFY_SIGNAL 0x00000200\r
-#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201\r
-#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202\r
+#define EVT_NOTIFY_WAIT 0x00000100\r
+#define EVT_NOTIFY_SIGNAL 0x00000200\r
+#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201\r
+#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202\r
\r
\r
//\r
// real time clock device as exposed through the EFI interfaces.\r
// \r
typedef struct {\r
- UINT32 Resolution;\r
- UINT32 Accuracy;\r
- BOOLEAN SetsToZero;\r
+ UINT32 Resolution;\r
+ UINT32 Accuracy;\r
+ BOOLEAN SetsToZero;\r
} EFI_TIME_CAPABILITIES;\r
\r
/**\r
//\r
// EFI Runtime Services Table\r
//\r
-#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249\r
-#define EFI_SYSTEM_TABLE_REVISION ((2<<16) | (10))\r
-#define EFI_2_10_SYSTEM_TABLE_REVISION ((2<<16) | (10))\r
-#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (00))\r
-#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))\r
-#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))\r
+#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249\r
+#define EFI_SYSTEM_TABLE_REVISION ((2<<16) | (10))\r
+#define EFI_2_10_SYSTEM_TABLE_REVISION ((2<<16) | (10))\r
+#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (00))\r
+#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))\r
+#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))\r
\r
-#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552\r
-#define EFI_RUNTIME_SERVICES_REVISION EFI_2_00_SYSTEM_TABLE_REVISION\r
+#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552\r
+#define EFI_RUNTIME_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION\r
\r
typedef struct {\r
- EFI_TABLE_HEADER Hdr;\r
-\r
- //\r
- // Time Services\r
- //\r
- EFI_GET_TIME GetTime;\r
- EFI_SET_TIME SetTime;\r
- EFI_GET_WAKEUP_TIME GetWakeupTime;\r
- EFI_SET_WAKEUP_TIME SetWakeupTime;\r
-\r
- //\r
- // Virtual Memory Services\r
- //\r
- EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;\r
- EFI_CONVERT_POINTER ConvertPointer;\r
-\r
- //\r
- // Variable Services\r
- //\r
- EFI_GET_VARIABLE GetVariable;\r
- EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;\r
- EFI_SET_VARIABLE SetVariable;\r
-\r
- //\r
- // Miscellaneous Services\r
- //\r
- EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;\r
- EFI_RESET_SYSTEM ResetSystem;\r
-\r
- //\r
- // UEFI 2.0 Capsule Services\r
- //\r
- EFI_UPDATE_CAPSULE UpdateCapsule;\r
- EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;\r
-\r
- //\r
- // Miscellaneous UEFI 2.0 Service\r
- //\r
- EFI_QUERY_VARIABLE_INFO QueryVariableInfo;\r
+ EFI_TABLE_HEADER Hdr;\r
+\r
+ //\r
+ // Time Services\r
+ //\r
+ EFI_GET_TIME GetTime;\r
+ EFI_SET_TIME SetTime;\r
+ EFI_GET_WAKEUP_TIME GetWakeupTime;\r
+ EFI_SET_WAKEUP_TIME SetWakeupTime;\r
+\r
+ //\r
+ // Virtual Memory Services\r
+ //\r
+ EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;\r
+ EFI_CONVERT_POINTER ConvertPointer;\r
+\r
+ //\r
+ // Variable Services\r
+ //\r
+ EFI_GET_VARIABLE GetVariable;\r
+ EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;\r
+ EFI_SET_VARIABLE SetVariable;\r
+\r
+ //\r
+ // Miscellaneous Services\r
+ //\r
+ EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;\r
+ EFI_RESET_SYSTEM ResetSystem;\r
+\r
+ //\r
+ // UEFI 2.0 Capsule Services\r
+ //\r
+ EFI_UPDATE_CAPSULE UpdateCapsule;\r
+ EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;\r
+\r
+ //\r
+ // Miscellaneous UEFI 2.0 Service\r
+ //\r
+ EFI_QUERY_VARIABLE_INFO QueryVariableInfo;\r
} EFI_RUNTIME_SERVICES;\r
\r
\r
-#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42\r
-#define EFI_BOOT_SERVICES_REVISION ((2<<16) | (00))\r
+#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42\r
+#define EFI_BOOT_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION\r
\r
typedef struct {\r
- EFI_TABLE_HEADER Hdr;\r
- \r
- //\r
- // Task Priority Services\r
- //\r
- EFI_RAISE_TPL RaiseTPL;\r
- EFI_RESTORE_TPL RestoreTPL;\r
-\r
- //\r
- // Memory Services\r
- //\r
- EFI_ALLOCATE_PAGES AllocatePages;\r
- EFI_FREE_PAGES FreePages;\r
- EFI_GET_MEMORY_MAP GetMemoryMap;\r
- EFI_ALLOCATE_POOL AllocatePool;\r
- EFI_FREE_POOL FreePool;\r
-\r
- //\r
- // Event & Timer Services\r
- //\r
- EFI_CREATE_EVENT CreateEvent;\r
- EFI_SET_TIMER SetTimer;\r
- EFI_WAIT_FOR_EVENT WaitForEvent;\r
- EFI_SIGNAL_EVENT SignalEvent;\r
- EFI_CLOSE_EVENT CloseEvent;\r
- EFI_CHECK_EVENT CheckEvent;\r
-\r
- //\r
- // Protocol Handler Services\r
- //\r
- EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;\r
- EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;\r
- EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;\r
- EFI_HANDLE_PROTOCOL HandleProtocol;\r
- VOID *Reserved;\r
- EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;\r
- EFI_LOCATE_HANDLE LocateHandle;\r
- EFI_LOCATE_DEVICE_PATH LocateDevicePath;\r
- EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;\r
-\r
- //\r
- // Image Services\r
- //\r
- EFI_IMAGE_LOAD LoadImage;\r
- EFI_IMAGE_START StartImage;\r
- EFI_EXIT Exit;\r
- EFI_IMAGE_UNLOAD UnloadImage;\r
- EFI_EXIT_BOOT_SERVICES ExitBootServices;\r
-\r
- //\r
- // Miscellaneous Services\r
- //\r
- EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;\r
- EFI_STALL Stall;\r
- EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;\r
-\r
- //\r
- // DriverSupport Services\r
- //\r
- EFI_CONNECT_CONTROLLER ConnectController;\r
- EFI_DISCONNECT_CONTROLLER DisconnectController;\r
-\r
- //\r
- // Open and Close Protocol Services\r
- //\r
- EFI_OPEN_PROTOCOL OpenProtocol;\r
- EFI_CLOSE_PROTOCOL CloseProtocol;\r
- EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;\r
-\r
- //\r
- // Library Services\r
- //\r
- EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;\r
- EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;\r
- EFI_LOCATE_PROTOCOL LocateProtocol;\r
- EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;\r
- EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;\r
-\r
- //\r
- // 32-bit CRC Services\r
- //\r
- EFI_CALCULATE_CRC32 CalculateCrc32;\r
-\r
- //\r
- // Miscellaneous Services\r
- //\r
- EFI_COPY_MEM CopyMem;\r
- EFI_SET_MEM SetMem;\r
-\r
- EFI_CREATE_EVENT_EX CreateEventEx;\r
+ EFI_TABLE_HEADER Hdr;\r
+ \r
+ //\r
+ // Task Priority Services\r
+ //\r
+ EFI_RAISE_TPL RaiseTPL;\r
+ EFI_RESTORE_TPL RestoreTPL;\r
+\r
+ //\r
+ // Memory Services\r
+ //\r
+ EFI_ALLOCATE_PAGES AllocatePages;\r
+ EFI_FREE_PAGES FreePages;\r
+ EFI_GET_MEMORY_MAP GetMemoryMap;\r
+ EFI_ALLOCATE_POOL AllocatePool;\r
+ EFI_FREE_POOL FreePool;\r
+\r
+ //\r
+ // Event & Timer Services\r
+ //\r
+ EFI_CREATE_EVENT CreateEvent;\r
+ EFI_SET_TIMER SetTimer;\r
+ EFI_WAIT_FOR_EVENT WaitForEvent;\r
+ EFI_SIGNAL_EVENT SignalEvent;\r
+ EFI_CLOSE_EVENT CloseEvent;\r
+ EFI_CHECK_EVENT CheckEvent;\r
+\r
+ //\r
+ // Protocol Handler Services\r
+ //\r
+ EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;\r
+ EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;\r
+ EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;\r
+ EFI_HANDLE_PROTOCOL HandleProtocol;\r
+ VOID *Reserved;\r
+ EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;\r
+ EFI_LOCATE_HANDLE LocateHandle;\r
+ EFI_LOCATE_DEVICE_PATH LocateDevicePath;\r
+ EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;\r
+\r
+ //\r
+ // Image Services\r
+ //\r
+ EFI_IMAGE_LOAD LoadImage;\r
+ EFI_IMAGE_START StartImage;\r
+ EFI_EXIT Exit;\r
+ EFI_IMAGE_UNLOAD UnloadImage;\r
+ EFI_EXIT_BOOT_SERVICES ExitBootServices;\r
+\r
+ //\r
+ // Miscellaneous Services\r
+ //\r
+ EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;\r
+ EFI_STALL Stall;\r
+ EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;\r
+\r
+ //\r
+ // DriverSupport Services\r
+ //\r
+ EFI_CONNECT_CONTROLLER ConnectController;\r
+ EFI_DISCONNECT_CONTROLLER DisconnectController;\r
+\r
+ //\r
+ // Open and Close Protocol Services\r
+ //\r
+ EFI_OPEN_PROTOCOL OpenProtocol;\r
+ EFI_CLOSE_PROTOCOL CloseProtocol;\r
+ EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;\r
+\r
+ //\r
+ // Library Services\r
+ //\r
+ EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;\r
+ EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;\r
+ EFI_LOCATE_PROTOCOL LocateProtocol;\r
+ EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;\r
+ EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;\r
+\r
+ //\r
+ // 32-bit CRC Services\r
+ //\r
+ EFI_CALCULATE_CRC32 CalculateCrc32;\r
+\r
+ //\r
+ // Miscellaneous Services\r
+ //\r
+ EFI_COPY_MEM CopyMem;\r
+ EFI_SET_MEM SetMem;\r
+\r
+ EFI_CREATE_EVENT_EX CreateEventEx;\r
} EFI_BOOT_SERVICES;\r
\r
//\r
// EFI System Table.\r
// \r
typedef struct{\r
- EFI_GUID VendorGuid;\r
- VOID *VendorTable;\r
+ EFI_GUID VendorGuid;\r
+ VOID *VendorTable;\r
} EFI_CONFIGURATION_TABLE;\r
\r
struct _EFI_SYSTEM_TABLE {\r
- EFI_TABLE_HEADER Hdr;\r
- CHAR16 *FirmwareVendor;\r
- UINT32 FirmwareRevision;\r
- EFI_HANDLE ConsoleInHandle;\r
- EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;\r
- EFI_HANDLE ConsoleOutHandle;\r
- EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;\r
- EFI_HANDLE StandardErrorHandle;\r
- EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;\r
- EFI_RUNTIME_SERVICES *RuntimeServices;\r
- EFI_BOOT_SERVICES *BootServices;\r
- UINTN NumberOfTableEntries;\r
- EFI_CONFIGURATION_TABLE *ConfigurationTable;\r
+ EFI_TABLE_HEADER Hdr;\r
+ CHAR16 *FirmwareVendor;\r
+ UINT32 FirmwareRevision;\r
+ EFI_HANDLE ConsoleInHandle;\r
+ EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;\r
+ EFI_HANDLE ConsoleOutHandle;\r
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;\r
+ EFI_HANDLE StandardErrorHandle;\r
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;\r
+ EFI_RUNTIME_SERVICES *RuntimeServices;\r
+ EFI_BOOT_SERVICES *BootServices;\r
+ UINTN NumberOfTableEntries;\r
+ EFI_CONFIGURATION_TABLE *ConfigurationTable;\r
};\r
\r
//\r
#error Unknown Processor Type\r
#endif\r
\r
-#include <Uefi/UefiDevicePath.h>\r
#include <Uefi/UefiPxe.h>\r
#include <Uefi/UefiGpt.h>\r
#include <Uefi/UefiInternalFormRepresentation.h>\r