bsp/qoriq: Copy FDT later

We need a ready to use TOC section before we can call bsp_fdt_copy().

Update #3082.
This commit is contained in:
Sebastian Huber
2017-08-01 08:41:07 +02:00
parent 43cc2b4daf
commit 0ae1916bcf

View File

@@ -37,6 +37,7 @@
#define INITIAL_MSR r14 #define INITIAL_MSR r14
#define START_STACK r15 #define START_STACK r15
#define SAVED_LINK_REGISTER r16 #define SAVED_LINK_REGISTER r16
#define FDT_REGISTER r17
.globl _start .globl _start
#ifdef RTEMS_SMP #ifdef RTEMS_SMP
@@ -50,8 +51,8 @@
.section ".bsp_start_text", "ax" .section ".bsp_start_text", "ax"
_start: _start:
mr FDT_REGISTER, r3
bl .Linitearly bl .Linitearly
bl bsp_fdt_copy
/* Get start stack */ /* Get start stack */
LA START_STACK, start_stack_end LA START_STACK, start_stack_end
@@ -72,6 +73,12 @@ _start:
LA r4, bsp_section_rodata_load_begin LA r4, bsp_section_rodata_load_begin
LA r5, bsp_section_rodata_size LA r5, bsp_section_rodata_size
bl .Lcopy bl .Lcopy
/* Copy FDT into read-only data */
mr r3, FDT_REGISTER
bl bsp_fdt_copy
/* Flush read-only data */
LA r3, bsp_section_rodata_begin LA r3, bsp_section_rodata_begin
LA r4, bsp_section_rodata_size LA r4, bsp_section_rodata_size
bl rtems_cache_flush_multiple_data_lines bl rtems_cache_flush_multiple_data_lines
@@ -131,11 +138,6 @@ _start:
b memcpy b memcpy
.Linitearly: .Linitearly:
/*
* Do not use r3 here, since it holds the FDT base pointer provided by
* the boot loader.
*/
#ifdef __powerpc64__ #ifdef __powerpc64__
mfmsr r0 mfmsr r0
oris r0, r0, MSR_CM >> 16 oris r0, r0, MSR_CM >> 16