Skip to content
Snippets Groups Projects
  1. Sep 08, 2010
  2. Jul 05, 2010
  3. Jun 18, 2010
    • Wolfgang Denk's avatar
      arch/arm/cpu/arm_cortexa8/omap3/cache.S: make build with older tools · cd040a49
      Wolfgang Denk authored
      
      The push / pop instructions used in this file are available only with
      more recent tool chains:
      
      cache.S: Assembler messages:
      cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}'
      cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}'
      cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}'
      cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}'
      
      Change push/pop into stmfd/ldmfd instructions to support older
      versions of binutils as well.
      
      I verified that the modified source code generates exactly the same
      binary code.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Sandeep Paulraj <s-paulraj@ti.com>
      Cc: Tom Rix <tom@bumblecow.com>
      cd040a49
  4. Apr 13, 2010
  5. Oct 13, 2009
    • Tom Rix's avatar
      OMAP3 Move cache routine to cache.S · 7a2aa8b6
      Tom Rix authored
      
      v7_flush_dcache_all, because it depends on omap ROM code is not
      generic.  Rename the function to 'invalidate_dcache' and move it
      to the omap cpu directory.
      
      Collect the other omap cache routines l2_cache_enable and
      l2_cache_disable with invalide_dcache into cache.S.  This
      means removing the old cache.c file that contained l2_cache_enable
      and l2_cache_disable.
      
      The conversion from cache.c to cache.S was done most through
      disassembling the uboot binary.  The only significant change was
      to change the comparision for the return of get_cpu_rev from
      
         cmp	r0, #0
         beq	earlier_than_label
      
      Which was lost information to
      
         cmp	r0, #CPU_3XX_ES20
         blt	earlier_than_label
      
      The paths through the enable routine were verified by
      adding an infinite loop and seeing the hang.  Then
      removing the infinite loop and seeing it continue.
      
      The disable routine is similar enough that it was not
      tested with this method.
      
      Run tested by cold booting from nand on beagle and zoom1.
      Compile tested on MAKEALL arm.
      
      Signed-off-by: default avatarTom Rix <Tom.Rix@windriver.com>
      7a2aa8b6
  6. Sep 15, 2009
    • Tom Rix's avatar
      OMAP3 Move cache routine to cache.S · 7467599c
      Tom Rix authored
      
      v7_flush_dcache_all, because it depends on omap ROM code is not
      generic.  Rename the function to 'invalidate_dcache' and move it
      to the omap cpu directory.
      
      Collect the other omap cache routines l2_cache_enable and
      l2_cache_disable with invalide_dcache into cache.S.  This
      means removing the old cache.c file that contained l2_cache_enable
      and l2_cache_disable.
      
      The conversion from cache.c to cache.S was done most through
      disassembling the uboot binary.  The only significant change was
      to change the comparision for the return of get_cpu_rev from
      
         cmp	r0, #0
         beq	earlier_than_label
      
      Which was lost information to
      
         cmp	r0, #CPU_3XX_ES20
         blt	earlier_than_label
      
      The paths through the enable routine were verified by
      adding an infinite loop and seeing the hang.  Then
      removing the infinite loop and seeing it continue.
      
      The disable routine is similar enough that it was not
      tested with this method.
      
      Run tested by cold booting from nand on beagle and zoom1.
      Compile tested on MAKEALL arm.
      
      Signed-off-by: default avatarTom Rix <Tom.Rix@windriver.com>
      7467599c
Loading