Commit 059b8311 authored by Andre Przywara's avatar Andre Przywara
Browse files

fel: autoboot: Support entering in AArch64



So far FEL was limited to 32-bit payloads only, but this will change.
To accomodate 64-bit entry points, introduce a corresponding flag and
use either the normal FEL execute call or the RMR request to kick off
execution.
Signed-off-by: default avatarAndre Przywara <osp@andrep.de>
parent f917e69d
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
static bool verbose = false; /* If set, makes the 'fel' tool more talkative */ static bool verbose = false; /* If set, makes the 'fel' tool more talkative */
static uint32_t uboot_entry = 0; /* entry point (address) of U-Boot */ static uint32_t uboot_entry = 0; /* entry point (address) of U-Boot */
static uint32_t uboot_size = 0; /* size of U-Boot binary */ static uint32_t uboot_size = 0; /* size of U-Boot binary */
static bool enter_in_aarch64 = false;
/* printf-style output, but only if "verbose" flag is active */ /* printf-style output, but only if "verbose" flag is active */
#define pr_info(...) \ #define pr_info(...) \
...@@ -1405,6 +1406,9 @@ int main(int argc, char **argv) ...@@ -1405,6 +1406,9 @@ int main(int argc, char **argv)
/* auto-start U-Boot if requested (by the "uboot" command) */ /* auto-start U-Boot if requested (by the "uboot" command) */
if (uboot_autostart) { if (uboot_autostart) {
pr_info("Starting U-Boot (0x%08X).\n", uboot_entry); pr_info("Starting U-Boot (0x%08X).\n", uboot_entry);
if (enter_in_aarch64)
aw_rmr_request(handle, uboot_entry, true);
else
aw_fel_execute(handle, uboot_entry); aw_fel_execute(handle, uboot_entry);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment