From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frank Wunderlich Date: Mon, 10 Aug 2020 16:26:52 +0200 Subject: [RFC PATCH 4/4] jumparch64: add go64 In-Reply-To: <20200810142652.40669-1-linux@fw-web.de> References: <20200810142652.40669-1-linux@fw-web.de> Message-ID: <20200810142652.40669-5-linux@fw-web.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Frank Wunderlich adding a new uboot command go64 which allows booting 64bit kernel-image from 32bit uboot using the jumparch64 target in mt7622 ATF Signed-off-by: Frank Wunderlich --- cmd/boot.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cmd/boot.c b/cmd/boot.c index 36aba22b30..1448eb3854 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -53,6 +53,32 @@ U_BOOT_CMD( " passing 'arg' as arguments" ); +#if defined(CONFIG_ARCH_MEDIATEK_32) && defined(CONFIG_TARGET_MT7622) +static int do_go64(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) +{ + ulong addr; + + if (argc < 2) + return CMD_RET_USAGE; + + addr = simple_strtoul(argv[1], NULL, 16); + + printf ("## Starting application at 0x%08lX ...\n", addr); + + extern void jumparch64_smc(ulong addr, ulong arg1, ulong arg2); + jumparch64_smc(addr, 0, 0); + + return 0; +} + +U_BOOT_CMD( + go64, CONFIG_SYS_MAXARGS, 1, do_go64, + "start 64bit application at address 'addr'", + "addr [arg ...]\n - start 64bit application@address 'addr'\n" + " passing 'arg' as arguments" +); +#endif + #endif U_BOOT_CMD( -- 2.25.1