Changeset b615e9b in rtems


Ignore:
Timestamp:
Jul 27, 2017, 1:16:36 PM (2 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
0db7c55
Parents:
3fd0197
git-author:
Sebastian Huber <sebastian.huber@…> (07/27/17 13:16:36)
git-committer:
Sebastian Huber <sebastian.huber@…> (07/28/17 08:12:28)
Message:

bsp/qoriq: Simplify initialization

Do not flush/invalidate the caches. Instead enable the cache during the
low-level initialization and perform an explicit cache flush for the
read-only and fast-text sections.

Update #3082.
Update #3085.

Location:
c/src/lib/libbsp/powerpc/qoriq
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/qoriq/configure.ac

    r3fd0197 rb615e9b  
    137137RTEMS_BSPOPTS_HELP([QORIQ_HAS_HYPERVISOR_MODE],[defined if the processor core has a hypervisor mode])
    138138
    139 RTEMS_BSPOPTS_SET([QORIQ_HAS_WRITE_BACK_L1_CACHE],[qoriq_t*],[])
    140 RTEMS_BSPOPTS_SET([QORIQ_HAS_WRITE_BACK_L1_CACHE],[*],[1])
    141 RTEMS_BSPOPTS_HELP([QORIQ_HAS_WRITE_BACK_L1_CACHE],[defined if the L1 cache supports write-back])
    142 
    143 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_1_L2CSR0],[qoriq_t*],[0xfec20000])
    144 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_1_L2CSR0],[*],[])
    145 RTEMS_BSPOPTS_HELP([QORIQ_CLUSTER_1_L2CSR0],[address of Cluster 1 L2CSR0 register])
    146 
    147 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_2_L2CSR0],[qoriq_t4240*],[0xfec60000])
    148 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_2_L2CSR0],[*],[])
    149 RTEMS_BSPOPTS_HELP([QORIQ_CLUSTER_2_L2CSR0],[address of Cluster 2 L2CSR0 register])
    150 
    151 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_3_L2CSR0],[qoriq_t4240*],[0xfeca0000])
    152 RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_3_L2CSR0],[*],[])
    153 RTEMS_BSPOPTS_HELP([QORIQ_CLUSTER_3_L2CSR0],[address of Cluster 3 L2CSR0 register])
    154 
    155139RTEMS_BSPOPTS_SET([QORIQ_CLOCK_TIMER],[qoriq_core_1],[4])
    156140RTEMS_BSPOPTS_SET([QORIQ_CLOCK_TIMER],[*],[0])
  • c/src/lib/libbsp/powerpc/qoriq/start/start.S

    r3fd0197 rb615e9b  
    5454        bl      bsp_fdt_copy
    5555
    56 #ifdef QORIQ_HAS_WRITE_BACK_L1_CACHE
    57         /*
    58          * See PowerPC e500 Core Family Reference Manual, 11.5, L1 Data Cache
    59          * Flushing.
    60          */
    61         LWI     r3, 12 * 128
    62         mtctr   r3
    63         LWI     r4, bsp_section_bss_begin
    64 1:
    65         dcbz    r0, r4
    66         addi    r4, r4, 32
    67         bdnz    1b
    68 #endif
    69 
    70         bl      qoriq_l1cache_invalidate
    71 
    72 #ifdef QORIQ_CLUSTER_1_L2CSR0
    73         LWI     r3, QORIQ_CLUSTER_1_L2CSR0
    74         bl      qoriq_l2cache_flush_invalidate
    75 #endif
    76 
    77 #ifdef QORIQ_CLUSTER_2_L2CSR0
    78         LWI     r3, QORIQ_CLUSTER_2_L2CSR0
    79         bl      qoriq_l2cache_flush_invalidate
    80 #endif
    81 
    82 #ifdef QORIQ_CLUSTER_3_L2CSR0
    83         LWI     r3, QORIQ_CLUSTER_3_L2CSR0
    84         bl      qoriq_l2cache_flush_invalidate
    85 #endif
    86 
    8756        /* Get start stack */
    8857        LWI     START_STACK, start_stack_end
     
    9564        LWI     r5, bsp_section_fast_text_size
    9665        bl      .Lcopy
     66        LWI     r3, bsp_section_fast_text_begin
     67        LWI     r4, bsp_section_fast_text_size
     68        bl      rtems_cache_flush_multiple_data_lines
    9769
    9870        /* Copy read-only data */
     
    10173        LWI     r5, bsp_section_rodata_size
    10274        bl      .Lcopy
     75        LWI     r3, bsp_section_rodata_begin
     76        LWI     r4, bsp_section_rodata_size
     77        bl      rtems_cache_flush_multiple_data_lines
    10378
    10479        /* Copy fast data */
     
    207182        li      r3, SCRATCH_TLB
    208183        li      r4, FSL_EIS_MAS1_TS
    209         li      r5, FSL_EIS_MAS2_I
     184        li      r5, FSL_EIS_MAS2_M
    210185        li      r6, FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW | FSL_EIS_MAS3_SX
    211186        li      r7, 0
Note: See TracChangeset for help on using the changeset viewer.