mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-27 07:51:38 +00:00
fs: do_load: pass device path for efi payload
fatload command can be used to load the EFI payload since EFI system partition is always a FAT partition. Call into EFI code from do_load() to set the device path from which the last binary was loaded. An EFI application like grub2 can’t find its configuration file without the device path set. Since device path is now set in do_load() there is no need to set it in do_load_wrapper() for the load command. Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
fa390810e1
commit
ee88eacbdd
2 changed files with 5 additions and 5 deletions
5
cmd/fs.c
5
cmd/fs.c
|
@ -8,7 +8,6 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <command.h>
|
#include <command.h>
|
||||||
#include <fs.h>
|
#include <fs.h>
|
||||||
#include <efi_loader.h>
|
|
||||||
|
|
||||||
static int do_size_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
static int do_size_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
{
|
{
|
||||||
|
@ -26,10 +25,6 @@ U_BOOT_CMD(
|
||||||
static int do_load_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
|
static int do_load_wrapper(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
char * const argv[])
|
char * const argv[])
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_CMD_BOOTEFI
|
|
||||||
efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "",
|
|
||||||
(argc > 4) ? argv[4] : "");
|
|
||||||
#endif
|
|
||||||
return do_load(cmdtp, flag, argc, argv, FS_TYPE_ANY);
|
return do_load(cmdtp, flag, argc, argv, FS_TYPE_ANY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
5
fs/fs.c
5
fs/fs.c
|
@ -17,6 +17,7 @@
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <div64.h>
|
#include <div64.h>
|
||||||
#include <linux/math64.h>
|
#include <linux/math64.h>
|
||||||
|
#include <efi_loader.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -700,6 +701,10 @@ int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
|
||||||
else
|
else
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
|
||||||
|
#ifdef CONFIG_CMD_BOOTEFI
|
||||||
|
efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "",
|
||||||
|
(argc > 4) ? argv[4] : "");
|
||||||
|
#endif
|
||||||
time = get_timer(0);
|
time = get_timer(0);
|
||||||
ret = _fs_read(filename, addr, pos, bytes, 1, &len_read);
|
ret = _fs_read(filename, addr, pos, bytes, 1, &len_read);
|
||||||
time = get_timer(time);
|
time = get_timer(time);
|
||||||
|
|
Loading…
Add table
Reference in a new issue