summaryrefslogtreecommitdiffstats
path: root/lib/efi_loader/efi_file.c
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-08 09:35:32 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-09 15:21:09 +0200
commite692ed1d560f8d9ece0e0b9e57c91233825be7ed (patch)
treeb69b753a2fe2199b6248d7f1cd072475bc70f9c8 /lib/efi_loader/efi_file.c
parent9bb62fa63ba1e26ade9842588d98806b9fecd67e (diff)
downloadu-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.tar.gz
u-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.tar.xz
u-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.zip
efi_loader: EFI_FILE_PROTOCOL rev 2 stub
The UEFI specification requires to implement version 2 of the EFI_FILE_PROTOCOL. Provide the missing functions as stubs. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib/efi_loader/efi_file.c')
-rw-r--r--lib/efi_loader/efi_file.c36
1 files changed, 31 insertions, 5 deletions
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index 504b1d1755..4b53016bf1 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -741,12 +741,34 @@ static efi_status_t EFIAPI efi_file_flush(struct efi_file_handle *file)
return EFI_EXIT(EFI_SUCCESS);
}
+static efi_status_t EFIAPI efi_file_open_ex(struct efi_file_handle *file,
+ struct efi_file_handle **new_handle,
+ u16 *file_name, u64 open_mode, u64 attributes,
+ struct efi_file_io_token *token)
+{
+ return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_file_read_ex(struct efi_file_handle *file,
+ struct efi_file_io_token *token)
+{
+ return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_file_write_ex(struct efi_file_handle *file,
+ struct efi_file_io_token *token)
+{
+ return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_file_flush_ex(struct efi_file_handle *file,
+ struct efi_file_io_token *token)
+{
+ return EFI_UNSUPPORTED;
+}
+
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,
+ .rev = EFI_FILE_PROTOCOL_REVISION2,
.open = efi_file_open,
.close = efi_file_close,
.delete = efi_file_delete,
@@ -757,6 +779,10 @@ static const struct efi_file_handle efi_file_handle_protocol = {
.getinfo = efi_file_getinfo,
.setinfo = efi_file_setinfo,
.flush = efi_file_flush,
+ .open_ex = efi_file_open_ex,
+ .read_ex = efi_file_read_ex,
+ .write_ex = efi_file_write_ex,
+ .flush_ex = efi_file_flush_ex,
};
/**