summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-03-27 21:41:04 +0100
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-03-27 21:52:11 +0100
commit17394f9a66e1b8caf2bb43419668dcd26e722ffe (patch)
treea03a050d861319f9878bf53ee7f686bcddf471d7
parentd0826507e2d24974cb99bfa8cac39d7684107994 (diff)
efi_loader: TODO for the EFI file protocol
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>
-rw-r--r--doc/README.uefi3
-rw-r--r--include/efi_api.h8
-rw-r--r--lib/efi_loader/efi_file.c4
3 files changed, 14 insertions, 1 deletions
diff --git a/doc/README.uefi b/doc/README.uefi
index 0982fad92e..cda29cdcf7 100644
--- a/doc/README.uefi
+++ b/doc/README.uefi
@@ -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)
diff --git a/include/efi_api.h b/include/efi_api.h
index ccf608653d..8647bfa662 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -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
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index bc715218a1..0483403be0 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -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,