diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-21 12:37:25 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-22 09:25:10 +0200 |
commit | c287dc0f4642544f001ad192794df311d640a3a7 (patch) | |
tree | 27d087006be91daa3a2d9109e36d8e419df3d0b6 /c/src/lib/libbsp/powerpc/qoriq/start | |
parent | bsp/qoriq: Optionally initialize register HID0 (diff) | |
download | rtems-c287dc0f4642544f001ad192794df311d640a3a7.tar.bz2 |
bsp/qoriq: Flush and invalidate all L2 caches
Diffstat (limited to 'c/src/lib/libbsp/powerpc/qoriq/start')
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/start/start.S | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/start/start.S b/c/src/lib/libbsp/powerpc/qoriq/start/start.S index b0e4960819..f9ac6a81cd 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/start/start.S +++ b/c/src/lib/libbsp/powerpc/qoriq/start/start.S @@ -80,27 +80,19 @@ _start: bne 1b isync -#ifdef QORIQ_L2CSR0 - /* Flush L2 cache of first cluster */ - LWI r4, QORIQ_L2CSR0 - lwz r3, 0(r4) - oris r3, r3, FSL_EIS_L2CSR0_L2FL >> 16 - stw r3, 0(r4) -1: - lwz r3, 0(r4) - andis. r3, r3, FSL_EIS_L2CSR0_L2FL >> 16 - bne 1b - isync +#ifdef QORIQ_CLUSTER_1_L2CSR0 + LWI r3, QORIQ_CLUSTER_1_L2CSR0 + bl qoriq_l2cache_flush_invalidate +#endif - /* Invalidate L2 cache of first cluster */ - lwz r3, 0(r4) - oris r3, r3, FSL_EIS_L2CSR0_L2FI >> 16 - stw r3, 0(r4) -1: - lwz r3, 0(r4) - andis. r3, r3, FSL_EIS_L2CSR0_L2FI >> 16 - bne 1b - isync +#ifdef QORIQ_CLUSTER_2_L2CSR0 + LWI r3, QORIQ_CLUSTER_2_L2CSR0 + bl qoriq_l2cache_flush_invalidate +#endif + +#ifdef QORIQ_CLUSTER_3_L2CSR0 + LWI r3, QORIQ_CLUSTER_3_L2CSR0 + bl qoriq_l2cache_flush_invalidate #endif /* Get start stack */ |