linux/arch/sh/mm
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
..
asids-debugfs.c sh: Fix up the cpu_asid() return value on nommu. 2008-12-22 18:44:03 +09:00
cache-debugfs.c Fix debugfs_create_file's error checking method for arch/sh/mm/ 2008-10-20 10:40:21 +09:00
cache-sh2.c SH2(A) cache update 2008-08-04 16:33:47 +09:00
cache-sh2a.c sh: fix sh2a cache entry_mask 2008-10-31 16:29:20 +09:00
cache-sh3.c
cache-sh4.c sh: uninline flush_icache_all(). 2008-09-08 10:35:06 +09:00
cache-sh5.c sh64: Fixup the nommu build. 2008-05-08 19:51:37 +09:00
cache-sh7705.c sh: Preparation for uncached jumps through PMB. 2008-01-28 13:18:59 +09:00
consistent.c sh: split coherent pages 2008-12-22 18:44:48 +09:00
extable_32.c sh: Split out extable.c _32 and _64 variants. 2008-01-28 13:18:44 +09:00
extable_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
fault_32.c sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
fault_64.c sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
hugetlbpage.c hugetlb: introduce pud_huge 2008-07-24 10:47:18 -07:00
init.c mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
ioremap_32.c sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
ioremap_64.c arch/sh/mm: Move a dereference below a NULL test 2009-01-21 17:41:14 +09:00
Kconfig sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
Makefile sh: Split out extable.c _32 and _64 variants. 2008-01-28 13:18:44 +09:00
Makefile_32 sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
Makefile_64 sh: Convert sh64 /proc/asids to debugfs and generic sh. 2008-12-22 18:44:03 +09:00
mmap.c sh: Move arch_get_unmapped_area() in to arch/sh/mm/mmap.c. 2008-12-22 18:42:49 +09:00
numa.c mm: move bootmem descriptors definition to a single place 2008-07-24 10:47:14 -07:00
pg-nommu.c sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
pg-sh4.c sh: Handle fixmap TLB eviction more coherently. 2008-11-10 20:00:45 +09:00
pg-sh7705.c fix sh ptep_get_and_clear breakage 2008-07-28 18:10:35 +09:00
pmb-fixed.c sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
pmb.c sh: PMB hibernation support 2009-03-16 19:46:17 +09:00
tlb-nommu.c sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
tlb-pteaex.c sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
tlb-sh3.c
tlb-sh4.c sh: Preparation for uncached jumps through PMB. 2008-01-28 13:18:59 +09:00
tlb-sh5.c sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
tlbflush_32.c sh: Rename the _32 and _64 TLB flush variants. 2008-01-28 13:18:54 +09:00
tlbflush_64.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00