linux_dsm_epyc7002/arch/sh/kernel/cpu/sh4
Paul Mundt 8263a67e16 sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores.
This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores
that implement the PTAEX register and respective functionality. Presently
only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs).

The main change is in how the PTE is written out when loading the entry
in to the TLB, as well as in how the TLB entry is selectively flushed.

While SH-X2 extended mode splits out the memory-mapped U and I-TLB data
arrays for extra bits, extended ASID mode splits out the address arrays.
While we don't use the memory-mapped data array access, the address
array accesses are necessary for selective TLB flushes, so these are
implemented newly and replace the generic SH-4 implementation.

With this, TLB flushes in switch_mm() are almost non-existent on newer
parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-03-17 17:49:49 +09:00
..
clock-sh4-202.c sh: Fix SH4-202 clock fwk set_rate() mismatch. 2007-06-04 10:51:59 +09:00
clock-sh4.c [PATCH] sh: Simplistic clock framework 2006-01-16 23:15:28 -08:00
fpu.c sh: fcnvds fix with denormalized numbers on SH-4 FPU. 2009-01-29 11:56:02 +09:00
Makefile sh: hibernation support 2009-03-10 12:55:40 +09:00
probe.c sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
setup-sh4-202.c serial: Move asm-sh/sci.h to linux/serial_sci.h. 2008-02-26 14:52:45 +09:00
setup-sh7750.c sh: multiple vectors per irq - sh7750 2009-02-27 16:53:50 +09:00
setup-sh7760.c sh: Enable IRLM mode for SH7760 IRQ_MODE_IRQ. 2008-09-08 11:54:56 +09:00
softfloat.c sh: __udivdi3 -> do_div() in softfloat lib. 2008-12-22 18:42:53 +09:00
sq.c sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00