mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
50f7c5af4a
Update to next U-Boot timed release. Remove now obsolete patch 100-01-board-mediatek-add-more-network-configurations.patch Default IP addresses are now dealt with in Kconfig, no longer in board- specific C header files. Add patches to restore ANSI support in bootmenu which was broken upstream, always use high-speed mode on serial UART for improved stability and fix an issue with pinconf not being applied on MT7623 resulting in eMMC being inaccessible when booting from micro SD card. In order to keep the size of the bootloader on MT7623 below 512kB remove some unneeded commands on both MT7623 boards. Tested on: * BananaPi BPi-R2 (MT7623N) * BananaPi BPi-R3 (MT7986A) * BananaPi BPi-R64 (MT7622A) * Linksys E8450 (MT7622B) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
117 lines
2.9 KiB
Diff
117 lines
2.9 KiB
Diff
--- a/cmd/Kconfig
|
|
+++ b/cmd/Kconfig
|
|
@@ -601,6 +601,12 @@ config CMD_ENV_EXISTS
|
|
Check if a variable is defined in the environment for use in
|
|
shell scripting.
|
|
|
|
+config CMD_ENV_READMEM
|
|
+ bool "env readmem"
|
|
+ default y
|
|
+ help
|
|
+ Store memory content into environment variable.
|
|
+
|
|
config CMD_ENV_CALLBACK
|
|
bool "env callbacks - print callbacks and their associated variables"
|
|
help
|
|
--- a/cmd/nvedit.c
|
|
+++ b/cmd/nvedit.c
|
|
@@ -408,6 +408,60 @@ int do_env_ask(struct cmd_tbl *cmdtp, in
|
|
}
|
|
#endif
|
|
|
|
+#if defined(CONFIG_CMD_ENV_READMEM)
|
|
+int do_env_readmem(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|
+{
|
|
+ char varstr[CONFIG_SYS_CBSIZE];
|
|
+ const void *buf;
|
|
+ char *local_args[4];
|
|
+ ulong addr, bytes = 6;
|
|
+ int hexdump = 0;
|
|
+
|
|
+ /*
|
|
+ * Check the syntax:
|
|
+ *
|
|
+ * readmem [-b] name address [size]
|
|
+ */
|
|
+ if (argc < 3)
|
|
+ return CMD_RET_USAGE;
|
|
+
|
|
+ local_args[0] = argv[0];
|
|
+
|
|
+ if (!strncmp(argv[1], "-b", 3))
|
|
+ hexdump = 1;
|
|
+
|
|
+ local_args[1] = argv[hexdump + 1];
|
|
+ local_args[2] = varstr;
|
|
+ local_args[3] = NULL;
|
|
+
|
|
+ addr = simple_strtoul(argv[hexdump + 2], NULL, 16);
|
|
+
|
|
+ if (!hexdump)
|
|
+ bytes = simple_strtoul(argv[hexdump + 3], NULL, 16);
|
|
+
|
|
+ if (bytes < 1)
|
|
+ return 1;
|
|
+
|
|
+ if ((hexdump * 3) * bytes >= CONFIG_SYS_CBSIZE)
|
|
+ return 1;
|
|
+
|
|
+ buf = map_sysmem(addr, bytes);
|
|
+ if (!buf)
|
|
+ return 1;
|
|
+
|
|
+ if (hexdump) {
|
|
+ sprintf(varstr, "%pM", buf);
|
|
+ } else {
|
|
+ memcpy(varstr, buf, bytes);
|
|
+ varstr[bytes] = '\0';
|
|
+ }
|
|
+ unmap_sysmem(buf);
|
|
+
|
|
+ /* Continue calling setenv code */
|
|
+ return _do_env_set(flag, 3, local_args, H_INTERACTIVE);
|
|
+}
|
|
+#endif
|
|
+
|
|
#if defined(CONFIG_CMD_ENV_CALLBACK)
|
|
static int print_static_binding(const char *var_name, const char *callback_name,
|
|
void *priv)
|
|
@@ -1231,6 +1285,9 @@ static struct cmd_tbl cmd_env_sub[] = {
|
|
U_BOOT_CMD_MKENT(load, 1, 0, do_env_load, "", ""),
|
|
#endif
|
|
U_BOOT_CMD_MKENT(print, CONFIG_SYS_MAXARGS, 1, do_env_print, "", ""),
|
|
+#if defined(CONFIG_CMD_ENV_READMEM)
|
|
+ U_BOOT_CMD_MKENT(readmem, CONFIG_SYS_MAXARGS, 3, do_env_readmem, "", ""),
|
|
+#endif
|
|
#if defined(CONFIG_CMD_RUN)
|
|
U_BOOT_CMD_MKENT(run, CONFIG_SYS_MAXARGS, 1, do_run, "", ""),
|
|
#endif
|
|
@@ -1322,6 +1379,9 @@ static char env_help_text[] =
|
|
#if defined(CONFIG_CMD_NVEDIT_EFI)
|
|
"env print -e [-guid guid] [-n] [name ...] - print UEFI environment\n"
|
|
#endif
|
|
+#if defined(CONFIG_CMD_ENV_READMEM)
|
|
+ "env readmem [-b] name address size - read variable from memory\n"
|
|
+#endif
|
|
#if defined(CONFIG_CMD_RUN)
|
|
"env run var [...] - run commands in an environment variable\n"
|
|
#endif
|
|
@@ -1431,6 +1491,17 @@ U_BOOT_CMD(
|
|
);
|
|
#endif
|
|
|
|
+#if defined(CONFIG_CMD_ENV_READMEM)
|
|
+U_BOOT_CMD_COMPLETE(
|
|
+ readmem, CONFIG_SYS_MAXARGS, 3, do_env_readmem,
|
|
+ "get environment variable from memory address",
|
|
+ "name [-b] address size\n"
|
|
+ " - store memory address to env variable\n"
|
|
+ " \"-b\": read binary ethaddr",
|
|
+ var_complete
|
|
+);
|
|
+#endif
|
|
+
|
|
#if defined(CONFIG_CMD_RUN)
|
|
U_BOOT_CMD_COMPLETE(
|
|
run, CONFIG_SYS_MAXARGS, 1, do_run,
|