Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/linux-sunxi/sunxi-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/fel.c
diff options
context:
space:
mode:
authorAndre Przywara <osp@andrep.de>2018-06-12 13:13:45 +0300
committerAndre Przywara <osp@andrep.de>2021-01-11 12:34:06 +0300
commit059b831198127b011f72ffca7e58cdec52d455b0 (patch)
treeb9619693e7e3e16bb014a15b6a36784f338b7a5b /fel.c
parentf917e69d75d52e940c859929d8b517bf2076c157 (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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fel.c b/fel.c
index f949ccb..0fdeec4 100644
--- a/fel.c
+++ b/fel.c
@@ -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);