summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/board-dt-2nd.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/board-dt-2nd.c')
-rw-r--r--arch/arm/cpu/board-dt-2nd.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/arch/arm/cpu/board-dt-2nd.c b/arch/arm/cpu/board-dt-2nd.c
index 6f6f535918..6f69a6dd27 100644
--- a/arch/arm/cpu/board-dt-2nd.c
+++ b/arch/arm/cpu/board-dt-2nd.c
@@ -12,29 +12,28 @@
#ifdef CONFIG_CPU_V8
-static noinline void dt_2nd_continue_aarch64(void *fdt)
-{
- unsigned long membase, memsize;
-
- if (!fdt)
- hang();
-
- fdt_find_mem(fdt, &membase, &memsize);
-
- barebox_arm_entry(membase, memsize, fdt);
-}
-
/* called from assembly */
void dt_2nd_aarch64(void *fdt);
void dt_2nd_aarch64(void *fdt)
{
+ unsigned long membase, memsize;
+
+ putc_ll('>');
+
/* entry point already set up stack */
+ arm_cpu_lowlevel_init();
+
relocate_to_current_adr();
setup_c();
- dt_2nd_continue_aarch64(fdt);
+ if (!fdt)
+ hang();
+
+ fdt_find_mem(fdt, &membase, &memsize);
+
+ barebox_arm_entry(membase, memsize, fdt);
}
#else
@@ -55,6 +54,8 @@ ENTRY_FUNCTION(start_dt_2nd, r0, r1, r2)
{
unsigned long image_start = (unsigned long)_text + global_variable_offset();
+ arm_cpu_lowlevel_init();
+
arm_setup_stack(image_start);
relocate_to_current_adr();