summaryrefslogtreecommitdiff
path: root/arch/mips/cpu/mips32/cache.S
AgeCommit message (Collapse)Author
2015-01-29MIPS: unify cache initialization codePaul Burton
The mips32 & mips64 cache initialization code differs only in that the mips32 code supports reading the cache size from coprocessor 0 registers at runtime. Move the more developed mips32 version to a common arch/mips/lib/cache_init.S & remove the now-redundant mips64 version in order to reduce duplication. The temporary registers used are shuffled slightly in order to work for both mips32 & mips64 builds. The RA register is defined differently to suit mips32 & mips64, but will be removed by a later commit in the series after further cleanup. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2015-01-29MIPS: avoid .set ISA for cache operationsPaul Burton
As a step towards unifying the cache maintenance code for mips32 & mips64 CPUs, stop using ".set <ISA>" directives in the more developed mips32 version of the code. Instead, when present make use of the GCC builtin for emitting a cache instruction. When not present, simply don't bother with the .set directives since U-boot always builds with -march=mips32 or higher anyway. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2013-11-09mips32: detect L1 cache sizes if they're not definedPaul Burton
For boards such as the MIPS Malta with an FPGA core card it is desirable to be able to detect the L1 cache sizes at runtime, since they are not dependant upon the board but on the FPGA bitstream in use. This patch performs that detection when the CONFIG_SYS_[DI]CACHE_SIZE macros are not defined by the board configuration. In cases where the sizes are detected this patch also removes the restriction that the I-cache & D-cache line sizes must be the same, as this is not necessarily true. If the cache sizes are defined by a configuration then they will be hardcoded as before, so this patch will not add overhead to such boards. Signed-off-by: Paul Burton <[email protected]>
2013-07-24MIPS: mips32/cache.S: use v1 register for indirect function callsGabor Juhos
Synchronize the code with mips64/cache.S, in order to allow further unifications. Signed-off-by: Gabor Juhos <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2013-07-24MIPS: mips32/cache.S: store cache line size in t8 registerGabor Juhos
Synchronize the code with mips64/cache.S, in order to allow further unifications. Signed-off-by: Gabor Juhos <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2013-07-24MIPS: mips32/cache.S: save return address in t9 registerGabor Juhos
Synchronize the code with mips64/cache.S, in order to allow further unifications. Signed-off-by: Gabor Juhos <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2013-07-24MIPS: mips32/cache.S: remove superfluous register assignmentGabor Juhos
The t4 register already holds the cache line size, and the value of the register is not changed in mips_init_icache. Get the cache line size value from t4 for mips_init_dcache as well and remove the superfluous assignment of t5 register. Signed-off-by: Gabor Juhos <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2012-10-16MIPS: don't use camel-case styleZhi-zhou Zhang
Replace camel-case style with upper-case style globally. Signed-off-by: Zhizhou Zhang <[email protected]>
2012-04-02MIPS: fix inconsistency in config option for cache operation modeDaniel Schwierzeck
Commit ab2a98b11716364bc5a8c43cdfa7fee176cda1d8 missed to use the new config option in dcache_enable(). Fix this to avoid inconsistencies if someone wants to disable and enable D-caches. Signed-off-by: Daniel Schwierzeck <[email protected]>
2011-05-07MIPS: Coding style cleanups on common assembly filesShinya Kuribayashi
Fix style issues and alignments globally. No logical changes. - Replace C comments with AS line comments where possible - Use ifndef where possible, rather than if !defined for simplicity - An instruction executed in a delay slot is now indicated by a leading space, not by C comment Signed-off-by: Shinya Kuribayashi <[email protected]>
2011-05-07MIPS: Remove mips_cache_lock() featureShinya Kuribayashi
As requested in commit e1390801a3c1a2b6d12fa90be368efc19f5b9bfd ([MIPS] Request for the 'mips_cache_lock()' removal), such feature is no longer needed for current MIPS implementation of U-Boot, and no one in the tree uses it for years. Signed-off-by: Shinya Kuribayashi <[email protected]>
2011-04-02MIPS: Move content of arch/mips/cpu to arch/mips/cpu/mips32Daniel Schwierzeck
All current CPUs and SoCs are based on MIPS32 arch. The complete code resides in the global arch/mips/cpu directory. This is not suitable if other MIPS architectures like MIPS64 or Octeon should be supported in the future. To achieve this the current CPU code is moved to its own mips32 subdirectory. All MIPS32 boards have to use mips32 as config switch in board.cfg. Signed-off-by: Daniel Schwierzeck <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Thomas Lange <[email protected]> Cc: Vlad Lungu <[email protected]> Signed-off-by: Shinya Kuribayashi <[email protected]>