summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/cmd_sandbox.c10
-rw-r--r--disk/part.c19
-rw-r--r--test/command_ut.c8
-rwxr-xr-xtest/vboot/vboot_test.sh2
4 files changed, 30 insertions, 9 deletions
diff --git a/common/cmd_sandbox.c b/common/cmd_sandbox.c
index 00982b164d..3d9fce7e55 100644
--- a/common/cmd_sandbox.c
+++ b/common/cmd_sandbox.c
@@ -114,11 +114,13 @@ static int do_sandbox(cmd_tbl_t *cmdtp, int flag, int argc,
U_BOOT_CMD(
sb, 8, 1, do_sandbox,
"Miscellaneous sandbox commands",
- "load host <dev> <addr> <filename> [<bytes> <offset>] - "
+ "load hostfs - <addr> <filename> [<bytes> <offset>] - "
"load a file from host\n"
- "sb ls host <filename> - list files on host\n"
- "sb save host <dev> <filename> <addr> <bytes> [<offset>] - "
+ "sb ls hostfs - <filename> - list files on host\n"
+ "sb save hostfs - <filename> <addr> <bytes> [<offset>] - "
"save a file to host\n"
"sb bind <dev> [<filename>] - bind \"host\" device to file\n"
- "sb info [<dev>] - show device binding & info"
+ "sb info [<dev>] - show device binding & info\n"
+ "sb commands use the \"hostfs\" device. The \"host\" device is used\n"
+ "with standard IO commands such as fatls or ext2load"
);
diff --git a/disk/part.c b/disk/part.c
index b3097e32f0..baceb19c60 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -510,6 +510,25 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
int part;
disk_partition_t tmpinfo;
+ /*
+ * Special-case a psuedo block device "hostfs", to allow access to the
+ * host's own filesystem.
+ */
+ if (0 == strcmp(ifname, "hostfs")) {
+ *dev_desc = NULL;
+ info->start = 0;
+ info->size = 0;
+ info->blksz = 0;
+ info->bootable = 0;
+ strcpy((char *)info->type, BOOT_PART_TYPE);
+ strcpy((char *)info->name, "Sandbox host");
+#ifdef CONFIG_PARTITION_UUIDS
+ info->uuid[0] = 0;
+#endif
+
+ return 0;
+ }
+
/* If no dev_part_str, use bootdevice environment variable */
if (!dev_part_str || !strlen(dev_part_str) ||
!strcmp(dev_part_str, "-"))
diff --git a/test/command_ut.c b/test/command_ut.c
index b2666bfc18..ae6466d0ed 100644
--- a/test/command_ut.c
+++ b/test/command_ut.c
@@ -165,12 +165,12 @@ static int do_ut_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#ifdef CONFIG_SANDBOX
/* File existence */
- HUSH_TEST(e, "-e host - creating_this_file_breaks_uboot_unit_test", n);
- run_command("sb save host - creating_this_file_breaks_uboot_unit_test 0 1", 0);
- HUSH_TEST(e, "-e host - creating_this_file_breaks_uboot_unit_test", y);
+ HUSH_TEST(e, "-e hostfs - creating_this_file_breaks_uboot_unit_test", n);
+ run_command("sb save hostfs - creating_this_file_breaks_uboot_unit_test 0 1", 0);
+ HUSH_TEST(e, "-e hostfs - creating_this_file_breaks_uboot_unit_test", y);
/* Perhaps this could be replaced by an "rm" shell command one day */
assert(!os_unlink("creating_this_file_breaks_uboot_unit_test"));
- HUSH_TEST(e, "-e host - creating_this_file_breaks_uboot_unit_test", n);
+ HUSH_TEST(e, "-e hostfs - creating_this_file_breaks_uboot_unit_test", n);
#endif
#endif
diff --git a/test/vboot/vboot_test.sh b/test/vboot/vboot_test.sh
index cc67bed2e2..8074fc6adc 100755
--- a/test/vboot/vboot_test.sh
+++ b/test/vboot/vboot_test.sh
@@ -14,7 +14,7 @@ set -e
run_uboot() {
echo -n "Test Verified Boot Run: $1: "
${uboot} -d sandbox-u-boot.dtb >${tmp} -c '
-sb load host 0 100 test.fit;
+sb load hostfs - 100 test.fit;
fdt addr 100;
bootm 100;
reset'
OpenPOWER on IntegriCloud