[U-Boot] [PATCH v3 00/14] MIPS L2 cache support
Paul Burton
paul.burton at imgtec.com
Wed Sep 21 12:18:45 CEST 2016
This series introduces support for initialising & maintaining L2 caches
on MIPS systems. This allows U-Boot to function correctly on systems
where such caches are present, whereas without performing L2 maintenance
it is likely to fail with cache coherence issues when writing code or
performing DMA transfers. It also fixes up a few issues with the cache
code in general, in particular ensuring that it clears execution hazards
at appropriate points.
Paul Burton (14):
board_f: Add a mach_cpu_init callback
MIPS: ath79: Use mach_cpu_init instead of arch_cpu_init
MIPS: Probe cache line sizes once during boot
MIPS: Enable use of the instruction cache earlier
MIPS: Preserve Config implementation-defined bits
MIPS: If we don't need DDR for cache init, init cache first
MIPS: Define register names for cache init
MIPS: Map CM Global Control Registers
MIPS: L2 cache support
MIPS: Join the coherent domain when a CM is present
MIPS: Malta: Enable CM & L2 support
MIPS: Ensure Config.K0=2 applies before any memory accesses
MIPS: Clear hazard between TagLo writes & cache ops
MIPS: Ensure cache ops complete in mips_cache_reset
arch/mips/Kconfig | 24 ++++
arch/mips/cpu/Makefile | 2 +
arch/mips/cpu/cm_init.S | 45 ++++++
arch/mips/cpu/cpu.c | 7 +
arch/mips/cpu/start.S | 27 ++--
arch/mips/include/asm/cache.h | 9 ++
arch/mips/include/asm/cm.h | 62 +++++++++
arch/mips/include/asm/global_data.h | 7 +
arch/mips/include/asm/mipsregs.h | 6 +
arch/mips/lib/cache.c | 101 +++++++++++---
arch/mips/lib/cache_init.S | 271 +++++++++++++++++++++++++++++++++---
arch/mips/mach-ath79/cpu.c | 2 +-
board/imgtec/malta/lowlevel_init.S | 6 -
common/board_f.c | 6 +
14 files changed, 522 insertions(+), 53 deletions(-)
create mode 100644 arch/mips/cpu/cm_init.S
create mode 100644 arch/mips/include/asm/cm.h
--
2.10.0
More information about the U-Boot
mailing list