提交 7920954b 编写于 作者: S Stefan Roese

ppc4xx: Flush complete dcache in relocate_code()

When the cache is enabled in SDRAM we need to flush not only the global
data area but also the bd_info struct in relocate_code. This patch now
flushed the complete dcache (all dcache lines) via flush_dcache() instead
of adding a flush_dcache_range() call for bd_info since this is faster.
Signed-off-by: NStefan Roese <sr@denx.de>
上级 28e94bb2
...@@ -1389,8 +1389,8 @@ in32r: ...@@ -1389,8 +1389,8 @@ in32r:
relocate_code: relocate_code:
#if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS) #if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS)
/* /*
* We need to flush the initial global data (gd_t) before the dcache * We need to flush the initial global data (gd_t) and bd_info
* will be invalidated. * before the dcache will be invalidated.
*/ */
/* Save registers */ /* Save registers */
...@@ -1398,10 +1398,11 @@ relocate_code: ...@@ -1398,10 +1398,11 @@ relocate_code:
mr r10, r4 mr r10, r4
mr r11, r5 mr r11, r5
/* Flush initial global data range */ /*
mr r3, r4 * Flush complete dcache, this is faster than flushing the
addi r4, r4, GENERATED_GBL_DATA_SIZE@l * ranges for global_data and bd_info instead.
bl flush_dcache_range */
bl flush_dcache
#if defined(CONFIG_SYS_INIT_DCACHE_CS) #if defined(CONFIG_SYS_INIT_DCACHE_CS)
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册