diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2024-05-03 11:52:12 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2024-05-03 11:52:12 +0200 |
commit | d5d4cbe03fa191a01b0910030f68d7d8bd854c31 (patch) | |
tree | 014eaaa251d10d522c278e99edcf0b587903280d /arch/arm/cpu/uncompress.c | |
parent | c8ae1c6b32f9eef97c7073ca8c25ecf644c4b2e5 (diff) | |
parent | 3bdf86c819195a0ba8c6590f54dafbb4b890bdc3 (diff) | |
download | barebox-next.tar.gz barebox-next.tar.xz |
Merge branch 'for-next/remove-arm-non-pbl' into nextnext
Diffstat (limited to 'arch/arm/cpu/uncompress.c')
-rw-r--r-- | arch/arm/cpu/uncompress.c | 40 |
1 files changed, 11 insertions, 29 deletions
diff --git a/arch/arm/cpu/uncompress.c b/arch/arm/cpu/uncompress.c index a481c4634d..aa1a49bfc9 100644 --- a/arch/arm/cpu/uncompress.c +++ b/arch/arm/cpu/uncompress.c @@ -23,19 +23,6 @@ #include "entry.h" -#ifndef CONFIG_HAVE_PBL_MULTI_IMAGES - -void start_pbl(void); - -/* - * First instructions in the pbl image - */ -void __naked __section(.text_head_entry_start_single_pbl) start_pbl(void) -{ - barebox_arm_head(); -} -#endif - unsigned long free_mem_ptr; unsigned long free_mem_end_ptr; @@ -56,26 +43,21 @@ void __noreturn barebox_pbl_start(unsigned long membase, unsigned long memsize, pg_start = runtime_address(input_data); pg_end = runtime_address(input_data_end); - if (IS_ENABLED(CONFIG_PBL_RELOCATABLE)) { - /* - * If we run from inside the memory just relocate the binary - * to the current address. Otherwise it may be a readonly location. - * Copy and relocate to the start of the memory in this case. - */ - if (pc > membase && pc - membase < memsize) - relocate_to_current_adr(); - else - relocate_to_adr(membase); - } + /* + * If we run from inside the memory just relocate the binary + * to the current address. Otherwise it may be a readonly location. + * Copy and relocate to the start of the memory in this case. + */ + if (pc > membase && pc - membase < memsize) + relocate_to_current_adr(); + else + relocate_to_adr(membase); pg_len = pg_end - pg_start; uncompressed_len = get_unaligned((const u32 *)(pg_start + pg_len - 4)); - if (IS_ENABLED(CONFIG_RELOCATABLE)) - barebox_base = arm_mem_barebox_image(membase, endmem, - uncompressed_len + MAX_BSS_SIZE); - else - barebox_base = TEXT_BASE; + barebox_base = arm_mem_barebox_image(membase, endmem, + uncompressed_len + MAX_BSS_SIZE); setup_c(); |