diff options
author | Andre Przywara <osp@andrep.de> | 2018-06-12 13:13:45 +0300 |
---|---|---|
committer | Andre Przywara <osp@andrep.de> | 2021-01-11 12:34:06 +0300 |
commit | 059b831198127b011f72ffca7e58cdec52d455b0 (patch) | |
tree | b9619693e7e3e16bb014a15b6a36784f338b7a5b /fel.c | |
parent | f917e69d75d52e940c859929d8b517bf2076c157 (diff) |
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: Andre Przywara <osp@andrep.de>
Diffstat (limited to 'fel.c')
-rw-r--r-- | fel.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -34,6 +34,7 @@ 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_size = 0; /* size of U-Boot binary */ +static bool enter_in_aarch64 = false; /* printf-style output, but only if "verbose" flag is active */ #define pr_info(...) \ @@ -1405,7 +1406,10 @@ int main(int argc, char **argv) /* auto-start U-Boot if requested (by the "uboot" command) */ if (uboot_autostart) { pr_info("Starting U-Boot (0x%08X).\n", uboot_entry); - aw_fel_execute(handle, uboot_entry); + if (enter_in_aarch64) + aw_rmr_request(handle, uboot_entry, true); + else + aw_fel_execute(handle, uboot_entry); } feldev_done(handle); |