mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-17 23:37:01 +00:00
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: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
28e94bb2f7
commit
7920954bd2
1 changed files with 7 additions and 6 deletions
|
@ -1389,8 +1389,8 @@ in32r:
|
|||
relocate_code:
|
||||
#if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS)
|
||||
/*
|
||||
* We need to flush the initial global data (gd_t) before the dcache
|
||||
* will be invalidated.
|
||||
* We need to flush the initial global data (gd_t) and bd_info
|
||||
* before the dcache will be invalidated.
|
||||
*/
|
||||
|
||||
/* Save registers */
|
||||
|
@ -1398,10 +1398,11 @@ relocate_code:
|
|||
mr r10, r4
|
||||
mr r11, r5
|
||||
|
||||
/* Flush initial global data range */
|
||||
mr r3, r4
|
||||
addi r4, r4, GENERATED_GBL_DATA_SIZE@l
|
||||
bl flush_dcache_range
|
||||
/*
|
||||
* Flush complete dcache, this is faster than flushing the
|
||||
* ranges for global_data and bd_info instead.
|
||||
*/
|
||||
bl flush_dcache
|
||||
|
||||
#if defined(CONFIG_SYS_INIT_DCACHE_CS)
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue