efi_loader: TODO for the EFI file protocol
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 27 Mar 2019 20:41:04 +0000 (21:41 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 27 Mar 2019 20:52:11 +0000 (21:52 +0100)
We currently only support EFI_FILE_PROTOCOL_REVISION while
UEFI specs 2.4 - 2.7 prescribe EFI_FILE_PROTOCOL_REVISION2.
Add a todo.

Add missing constants for the EFI file protocol revision.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
doc/README.uefi
include/efi_api.h
lib/efi_loader/efi_file.c

index 0982fad92e9e2ba9ae5cc1f60f34a37d04a38cc1..cda29cdcf753900b77b275f25606e494083b9b6e 100644 (file)
@@ -329,6 +329,9 @@ This driver is only available if U-Boot is configured with
   * persistence
   * runtime support
 
+* incompletely implemented protocols
+  * support version 0x00020000 of the EFI file protocol
+
 ## Links
 
 * [1](http://uefi.org/specifications)
index ccf608653d4af5b2a83adfc8817e6d763515641d..8647bfa6629bb576083dc394757dc4a821e0d890 100644 (file)
@@ -1322,7 +1322,9 @@ struct efi_pxe {
 #define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
        EFI_GUID(0x964e5b22, 0x6459, 0x11d2, \
                 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
-#define EFI_FILE_PROTOCOL_REVISION 0x00010000
+#define EFI_FILE_PROTOCOL_REVISION     0x00010000
+#define EFI_FILE_PROTOCOL_REVISION2    0x00020000
+#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
 
 struct efi_file_handle {
        u64 rev;
@@ -1346,6 +1348,10 @@ struct efi_file_handle {
                        const efi_guid_t *info_type, efi_uintn_t buffer_size,
                        void *buffer);
        efi_status_t (EFIAPI *flush)(struct efi_file_handle *file);
+       /*
+        * TODO: We currently only support EFI file protocol revision 0x00010000
+        *       while UEFI specs 2.4 - 2.7 prescribe revision 0x00020000.
+        */
 };
 
 #define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
index bc715218a1b227fe1a56ac07d6f66fe674bd2986..0483403be0d0fdf053b442467a5c7d5e5eeda303 100644 (file)
@@ -628,6 +628,10 @@ static efi_status_t EFIAPI efi_file_flush(struct efi_file_handle *file)
 }
 
 static const struct efi_file_handle efi_file_handle_protocol = {
+       /*
+        * TODO: We currently only support EFI file protocol revision 0x00010000
+        *       while UEFI specs 2.4 - 2.7 prescribe revision 0x00020000.
+        */
        .rev = EFI_FILE_PROTOCOL_REVISION,
        .open = efi_file_open,
        .close = efi_file_close,