forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.7 KiB
90 lines
2.7 KiB
// SPDX-License-Identifier: GPL-2.0 |
|
/* |
|
* Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. |
|
* |
|
* Inspired by cmd_ext_common.c, cmd_fat.c. |
|
*/ |
|
|
|
#include <common.h> |
|
#include <command.h> |
|
#include <fs.h> |
|
#include <efi_loader.h> |
|
|
|
static int do_size_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
|
{ |
|
return do_size(cmdtp, flag, argc, argv, FS_TYPE_ANY); |
|
} |
|
|
|
U_BOOT_CMD( |
|
size, 4, 0, do_size_wrapper, |
|
"determine a file's size", |
|
"<interface> <dev[:part]> <filename>\n" |
|
" - Find file 'filename' from 'dev' on 'interface'\n" |
|
" and determine its size." |
|
); |
|
|
|
static int do_load_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, |
|
char * const argv[]) |
|
{ |
|
efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "", |
|
(argc > 4) ? argv[4] : ""); |
|
return do_load(cmdtp, flag, argc, argv, FS_TYPE_ANY); |
|
} |
|
|
|
U_BOOT_CMD( |
|
load, 7, 0, do_load_wrapper, |
|
"load binary file from a filesystem", |
|
"<interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]\n" |
|
" - Load binary file 'filename' from partition 'part' on device\n" |
|
" type 'interface' instance 'dev' to address 'addr' in memory.\n" |
|
" 'bytes' gives the size to load in bytes.\n" |
|
" If 'bytes' is 0 or omitted, the file is read until the end.\n" |
|
" 'pos' gives the file byte position to start reading from.\n" |
|
" If 'pos' is 0 or omitted, the file is read from the start." |
|
) |
|
|
|
static int do_save_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, |
|
char * const argv[]) |
|
{ |
|
return do_save(cmdtp, flag, argc, argv, FS_TYPE_ANY); |
|
} |
|
|
|
U_BOOT_CMD( |
|
save, 7, 0, do_save_wrapper, |
|
"save file to a filesystem", |
|
"<interface> <dev[:part]> <addr> <filename> bytes [pos]\n" |
|
" - Save binary file 'filename' to partition 'part' on device\n" |
|
" type 'interface' instance 'dev' from addr 'addr' in memory.\n" |
|
" 'bytes' gives the size to save in bytes and is mandatory.\n" |
|
" 'pos' gives the file byte position to start writing to.\n" |
|
" If 'pos' is 0 or omitted, the file is written from the start." |
|
) |
|
|
|
static int do_ls_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, |
|
char * const argv[]) |
|
{ |
|
return do_ls(cmdtp, flag, argc, argv, FS_TYPE_ANY); |
|
} |
|
|
|
U_BOOT_CMD( |
|
ls, 4, 1, do_ls_wrapper, |
|
"list files in a directory (default /)", |
|
"<interface> [<dev[:part]> [directory]]\n" |
|
" - List files in directory 'directory' of partition 'part' on\n" |
|
" device type 'interface' instance 'dev'." |
|
) |
|
|
|
static int do_fstype_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, |
|
char * const argv[]) |
|
{ |
|
return do_fs_type(cmdtp, flag, argc, argv); |
|
} |
|
|
|
U_BOOT_CMD( |
|
fstype, 4, 1, do_fstype_wrapper, |
|
"Look up a filesystem type", |
|
"<interface> <dev>:<part>\n" |
|
"- print filesystem type\n" |
|
"fstype <interface> <dev>:<part> <varname>\n" |
|
"- set environment variable to filesystem type\n" |
|
);
|
|
|