]> git.karo-electronics.de Git - karo-tx-linux.git/commit
metag: Cache/TLB handling
authorJames Hogan <james.hogan@imgtec.com>
Tue, 9 Oct 2012 09:54:17 +0000 (10:54 +0100)
committerJames Hogan <james.hogan@imgtec.com>
Tue, 29 Jan 2013 12:34:20 +0000 (12:34 +0000)
commit63d2e73903d3a7a137330bd500848c9f98f7e5cd
tree28afd7d4e9e20b25611d014301f913a153b66b46
parent0373843fff6f71a9c880e517308244b2aa431846
metag: Cache/TLB handling

Add cache and TLB handling code for metag, including the required
callbacks used by MM switches and DMA operations. Caches can be
partitioned between the hardware threads and the global space, however
this is usually configured by the bootloader so Linux doesn't make any
changes to this configuration. TLBs aren't configurable, so only need
consideration to flush them.

On Meta1 the L1 cache was VIVT which required a full flush on MM switch.
Meta2 has a VIPT L1 cache so it doesn't require the full flush on MM
switch. Meta2 can also have a writeback L2 with hardware prefetch which
requires some special handling. Support is optional, and the L2 can be
detected and initialised by Linux.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
arch/metag/include/asm/cache.h [new file with mode: 0644]
arch/metag/include/asm/cacheflush.h [new file with mode: 0644]
arch/metag/include/asm/l2cache.h [new file with mode: 0644]
arch/metag/include/asm/tlb.h [new file with mode: 0644]
arch/metag/include/asm/tlbflush.h [new file with mode: 0644]
arch/metag/mm/cache.c [new file with mode: 0644]
arch/metag/mm/l2cache.c [new file with mode: 0644]