| Submitter | Stefan Roese |
|---|---|
| Date | Nov. 26, 2010, 2:45 p.m. |
| Message ID | <1290782734-9536-1-git-send-email-sr@denx.de> |
| Download | mbox | patch |
| Permalink | /patch/73188/ |
| State | Accepted |
| Commit | 7920954bd2bd9d49013378a722fb2325cbbeadeb |
| Headers | show |
Comments
On Friday 26 November 2010 15:45:34 Stefan Roese wrote: > 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. Applied to u-boot-ppc4xx/master. Thanks. Cheers, Stefan -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
Patch
diff --git a/arch/powerpc/cpu/ppc4xx/start.S b/arch/powerpc/cpu/ppc4xx/start.S index d77272c..99822d7 100644 --- a/arch/powerpc/cpu/ppc4xx/start.S +++ b/arch/powerpc/cpu/ppc4xx/start.S @@ -1391,8 +1391,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 */ @@ -1400,10 +1400,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) /*
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> --- arch/powerpc/cpu/ppc4xx/start.S | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)