diff options
author | Regina König | 2020-06-22 18:39:54 +0200 |
---|---|---|
committer | Regina König | 2020-06-22 18:39:54 +0200 |
commit | ad49e4d55b8869b098a2131144095cb290dff779 (patch) | |
tree | be448cacca6c9e2ff1a0d565635f69551d36296c /documentation | |
parent | [import] Import version 5.31b (diff) | |
download | memtest86-ad49e4d55b8869b098a2131144095cb290dff779.tar.gz memtest86-ad49e4d55b8869b098a2131144095cb290dff779.tar.xz memtest86-ad49e4d55b8869b098a2131144095cb290dff779.zip |
added documentation directory
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/EFI_CONFIGURATION_TABLE | 11 | ||||
-rw-r--r-- | documentation/EFI_IMAGE_ENTRY_POINT | 108 | ||||
-rw-r--r-- | documentation/todo | 3 |
3 files changed, 122 insertions, 0 deletions
diff --git a/documentation/EFI_CONFIGURATION_TABLE b/documentation/EFI_CONFIGURATION_TABLE new file mode 100644 index 0000000..c0decf6 --- /dev/null +++ b/documentation/EFI_CONFIGURATION_TABLE @@ -0,0 +1,11 @@ +EFI_MM_SYSTEM_TABLE + +The Management Mode System TAble (MMST) is a table that contains a collection of common services for managing MMRAM allocation and providinh basic I/O services. These services are intended for both preboot and runtime usage. + +UINTNNumberOfTableEntries; +EFI_CONFIGURATION_TABLE*SmmConfigurationTable; + +MmConfigurationTable +A pointer to the UEFI Configuration Tables. The number of entries in the table is +NumberOfTableEntries. Type EFI_CONFIGURATION_TABLE is defined in +the UEFI Specification, section 4.6. diff --git a/documentation/EFI_IMAGE_ENTRY_POINT b/documentation/EFI_IMAGE_ENTRY_POINT new file mode 100644 index 0000000..f4eb205 --- /dev/null +++ b/documentation/EFI_IMAGE_ENTRY_POINT @@ -0,0 +1,108 @@ +System Table contains pointers to the active concole devices, a pointer to the Boot Services Table, +a pointer to the Runtime Services Table, and a pointer to the list of system configuration tables such as +ACPI, SMBIOS and the SAL System Table. + +Entry point is the same for UEFI applications and UEDI drivers. + + +PROTOTYPE + typedef + EFI_STATUS + (EFIAPI *EFI_IMAGE_ENTRY_POINT) ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTabel + ); + +PARAMETERS + ImageHandle The firmware allocated handle for the UEFI image + SystemTable A pointer to the EFI System Table. Contains standard output and input handles, + plus pointers to the EFI_BOOT_SERVICES and EFI RUNTIME_SERVICES tables. + The service tables contain the entry points in the firmware for accessing the core EFI system + functionality. The handles in the system table are used to obtain basci access to the console. + In addition, the System Table contains pointers to other standard tables that a loaded image + may use if the associated pointers are initialized to nonzero values. + Example of such tables: ACPI, SMBIOS, SAL System Table, ... + + + +If the UEFI image is a UEFI application that is not a UEFI OS loader, then the application executes and +either returns or calls the EFI Boot Services EFI_BOOT_SERVICES.Exit(). A UEFI application is always +unloaded from memory when it exits, and its return status is returned to the component that started the +UEFI application. + +EFI_TABLE_HEADER +Datastructure that precedes all of the standard EFI table types + +typedef struct { + UINT64 Signature; + UINT32 Revision; + UINT32 HeaderSize; + UINT32 CRC32; + UINT32 Reserved; + } EFI_TABLE_HEADER; + + +EFI_SYSTEM_TABLE +Except for the table header, all elements in the service tables are pointers to functions as defined +in Section7 (Services - Boot Services) and Section8 (Services - Runtime Services). + +Prior to a call to EFI_BOOT_SERVICES.ExitBootServices(), all of the fields of the EFI System Table are valid. +After an operating system has taken control of the platform with a call to ExitBootServices(), pmöy +Hdr, FirmwareVendor, FirmwareRevision, RuntimeServices, NumberOfTableEntries, ConfigurationTable fields +are valid. + +typedef struct { + EFI_TABLE_HEADER Hdr; + CHAR16 *FirmwareVendor; + UINT32 FirmwareRevision; + EFI_HANDLE ConsoleInHandle; + EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn; + EFI_HANDLE ConsoleOutHandle; + EFI_SYSTEM_TEXT_OUTPUT_PROTOCOL *ConOut; + EFI_HANDLE StandardErrorHandle; + EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *stdErr; + EFI_RUNTIME_SERVICES *RuntimeServices: + EFI_BOOT_SERVICES *BootServices; + UINTN NumberOfTableEntries; + EFI_CONFIGURATION_TABLE *Configuration_Table; + } EFI_SYSTEM_TABLE; + +PARAMETERS + ConcoleHandle The handle for the active console input device. This handle must support + EFI_SIMPLE_TEXT_INPUT_PROTOCOL and EFI_SIMPLE_TECT_INPUT_EX_PROTOCOL. + ConIn A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL interface that is + associated with ConsoleInHandle. + ConsoleOutHandle The handle for the active console output device. This handle must + EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. + ConOut A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface that is + associated with ConsoleOutHandle. + StandardErrorHandle The handle for the active standard error console device. Must support + EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. + StdErr A pointer to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL inte4rface that is + assiciated with StandardErrorHandle + RuntimeServices A pointer to the EFI Runtime Services Table (Section 4.5) + BootServices Section 4.4 + NumberOfTableEntries Number of system configuration tables in the buffer ConfigurationTable + ConfigurationTable A pointer to the system configuration tables. Number of entries in the table is + NumberOfTableEntries. + +EFI Boot Services Table + contains a table header and pointers to all of the boot services. Except for the table header, all elements + in the EFI Boot Services Tables are prototypes of function pointers to functions as defined in Section 7. + The function pointers in this table are not valid after the operating system has taken control of the platform with a call to + EFI_BOOT_SERVICES.ExitBootServices(). + + + + + + + + + + + + + +References +[1] UEFI Specification 2.8 Errata A, February 2020 diff --git a/documentation/todo b/documentation/todo new file mode 100644 index 0000000..af50d6c --- /dev/null +++ b/documentation/todo @@ -0,0 +1,3 @@ +Uefi Spec 4.4 EFI Boot Services +UEFI Boot +UEFI applications |