Skip to content
Snippets Groups Projects
  1. Apr 03, 2015
    • Alexey Brodkin's avatar
      arc: clean-up init procedure · 3fb80163
      Alexey Brodkin authored
      
      Intention behind this work was elimination of as much assembly-written
      code as it is possible.
      
      In case of ARC we already have relocation fix-up implemented in C so why
      don't we use C for U-Boot copying, .bss zeroing etc.
      
      It turned out x86 uses pretty similar approach so we re-used parts of
      code in "board_f.c" initially implemented for x86.
      
      Now assembly usage during init is limited to stack- and frame-pointer
      setup before and after relocation.
      
      Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
      Cc: Simon Glass <sjg@chromium.org>
      3fb80163
    • Alexey Brodkin's avatar
      arc: move low-level interrupt and exception handlers in a separate file · 8ee28251
      Alexey Brodkin authored
      
      This separation makes maintenance of code easier because those low-level
      interrupt- or exception handling routines are pretty static and usually
      require not much care while start-up code is a subject of modifications
      and enhancements.
      
      Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
      8ee28251
    • Alexey Brodkin's avatar
      arc: merge common start-up code between ARC and ARCv2 · 4d93617d
      Alexey Brodkin authored
      
      Even though ARCompact and ARCv2 are not binary compatible most of
      assembly instructions are used in both. With this change we'll get rid
      of duplicate code.
      
      Still IVTs are implemented differently so we're keeping them in separate
      files.
      
      Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
      4d93617d
    • Alexey Brodkin's avatar
      arc: cache - build invalidate_icache_all() and invalidate_dcache_all() · ae4a351a
      Alexey Brodkin authored
      always
      
      Make both invalidate_icache_all() and invalidate_dcache_all() available
      even if U-Boot is configured with CONFIG_SYS_DCACHE_OFF and/or
      CONFIG_SYS_ICACHE_OFF.
      
      This is useful because configuration of U-Boot may not match actual
      hardware features. Real board may have cache(s) but for some reason we
      may want to run U-Boot with cache(s) disabled (for example if some
      peripherals work improperly with existing drivers if data cache is
      enabled). So board may start with cache(s) enabled (that's the case for
      ARC cores with built-in caches) but early in U-Boot we disable cache(s)
      and make sure all contents of data cache gets flushed in RAM.
      
      Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
      ae4a351a
    • Alexey Brodkin's avatar
      serial/serial_arc: set registers address during compilation · 36d68668
      Alexey Brodkin authored
      
      Being global variable with 0 value it falls into .bss area which we may
      only use after relocation to RAM. And right afetr relocation we zero
      .bss - effectively cleaing register address set for early console.
      
      Now with pre-set value "regs" variable is no longer in .bss and this way
      safely survives relocation.
      
      Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
      36d68668
  2. Apr 01, 2015
  3. Mar 31, 2015
  4. Mar 29, 2015
Loading