aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/image.c5
-rw-r--r--arch/arm/lib/vectors.S2
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/lib/image.c b/arch/arm/lib/image.c
index 1a04e2b875..699bf44e70 100644
--- a/arch/arm/lib/image.c
+++ b/arch/arm/lib/image.c
@@ -26,7 +26,8 @@ struct Image_header {
uint32_t res5;
};
-int booti_setup(ulong image, ulong *relocated_addr, ulong *size)
+int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
+ bool force_reloc)
{
struct Image_header *ih;
uint64_t dst;
@@ -63,7 +64,7 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size)
* images->ep. Otherwise, relocate the image to the base of RAM
* since memory below it is not accessible via the linear mapping.
*/
- if (le64_to_cpu(ih->flags) & BIT(3))
+ if (!force_reloc && (le64_to_cpu(ih->flags) & BIT(3)))
dst = image - text_offset;
else
dst = gd->bd->bi_dram[0].start;
diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S
index 79afc27e84..d629cb1dc2 100644
--- a/arch/arm/lib/vectors.S
+++ b/arch/arm/lib/vectors.S
@@ -133,7 +133,7 @@ not_used:
irq:
fiq:
1:
- bl 1b /* hang and never return */
+ b 1b /* hang and never return */
#else /* !CONFIG_SPL_BUILD */