diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-03-23 10:07:52 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-04-03 14:07:58 +0200 |
commit | d2a45a58aa9b2d739daa3768af2864effc8f3660 (patch) | |
tree | abfc6b934724fd4175de9aa15c106c9041c983fe | |
parent | bsp/qoriq: Adjust MMU config only once (diff) | |
download | rtems-d2a45a58aa9b2d739daa3768af2864effc8f3660.tar.bz2 |
bsp/qoriq: Fix L1 cache flush
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/start/start.S | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/start/start.S b/c/src/lib/libbsp/powerpc/qoriq/start/start.S index 481b664bc4..d9a8a39a7c 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/start/start.S +++ b/c/src/lib/libbsp/powerpc/qoriq/start/start.S @@ -54,14 +54,21 @@ _start: bl bsp_fdt_copy #ifdef QORIQ_HAS_WRITE_BACK_L1_CACHE - LWI r3, bsp_section_start_begin - LWI r4, bsp_section_data_load_end - sub r4, r4, r3 - bl rtems_cache_flush_multiple_data_lines -#else - bl qoriq_l1cache_invalidate + /* + * See PowerPC e500 Core Family Reference Manual, 11.5, L1 Data Cache + * Flushing. + */ + LWI r3, 12 * 128 + mtctr r3 + LWI r4, bsp_section_bss_begin +1: + dcbz r0, r4 + addi r4, r4, 32 + bdnz 1b #endif + bl qoriq_l1cache_invalidate + #ifdef QORIQ_CLUSTER_1_L2CSR0 LWI r3, QORIQ_CLUSTER_1_L2CSR0 bl qoriq_l2cache_flush_invalidate |