kernel-fxtec-pro1x/arch/sh/kernel
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
..
cpu sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
timers sh: Add support for SH7786 CPU subtype. 2009-03-03 15:40:25 +09:00
vsyscall [S390] arch_setup_additional_pages arguments 2008-12-25 13:38:54 +01:00
.gitignore
asm-offsets.c sh: hibernation support 2009-03-10 12:55:40 +09:00
cpufreq.c
crash_dump.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
debugtraps.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
disassemble.c sh: Add a simple code dumper for SUPERH32 show_regs(). 2008-12-22 18:43:49 +09:00
early_printk.c serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. 2008-11-13 17:46:06 +09:00
entry-common.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
ftrace.c sh: Provide ftrace_make_call()/ftrace_make_nop(). 2008-12-22 18:44:02 +09:00
gpio.c sh: use gpiolib 2009-01-27 14:49:10 +09:00
head_32.S sh: Enable skipping of bss on debug platforms for sh32 also. 2008-12-22 18:44:47 +09:00
head_64.S
idle.c sh: Split out the idle loop for reuse between _32/_64 variants. 2008-12-22 18:43:50 +09:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_generic.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.c
irq.c sh: multiple vectors per irq - base 2009-02-27 16:53:50 +09:00
kgdb.c sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
kprobes.c sh: kprobes: kretprobe_trampoline needs to be global. 2008-09-09 08:13:28 +09:00
machine_kexec.c sh: fix kexec entry point for crash kernels 2008-08-28 14:53:03 +09:00
machvec.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
Makefile
Makefile_32 sh: hibernation support 2009-03-10 12:55:40 +09:00
Makefile_64 sh: Fix up GENERIC_GPIO build for ARCH_WANT_OPTIONAL_GPIO cases. 2009-01-27 14:49:10 +09:00
module.c sh: module_alloc() should be using vmalloc_exec(). 2008-08-04 13:34:29 +09:00
process_32.c sh: Simplify kernel_thread_helper() for sh32. 2008-12-22 18:44:44 +09:00
process_64.c sh: Drop the BKL from sys_execve() on SH-5. 2009-01-21 17:42:55 +09:00
ptrace_32.c sh: Add FPU registers to regset interface. 2008-09-21 19:04:55 +09:00
ptrace_64.c sh: Provide linux/regset.h interface for SH-5. 2008-12-22 18:44:04 +09:00
relocate_kernel.S
setup.c sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
sh_bios.c sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_ksyms_32.c sh: More movmem alias symbol exports for older compilers. 2008-12-22 18:43:49 +09:00
sh_ksyms_64.c sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking. 2008-12-22 18:44:05 +09:00
signal_32.c sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
signal_64.c sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
smp.c cpumask: convert struct clock_event_device to cpumask pointers. 2008-12-13 21:20:26 +10:30
stacktrace.c sh: latencytop support. 2008-09-13 01:44:03 +09:00
swsusp.c sh: hibernation support 2009-03-10 12:55:40 +09:00
sys_sh.c sh: Move arch_get_unmapped_area() in to arch/sh/mm/mmap.c. 2008-12-22 18:42:49 +09:00
sys_sh32.c [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
sys_sh64.c
syscalls_32.S [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
syscalls_64.S [CVE-2009-0029] Rename old_readdir to sys_old_readdir 2009-01-14 14:15:15 +01:00
time_32.c sh: Don't enable GENERIC_TIME for the CMT clockevent driver yet. 2009-01-29 18:11:25 +09:00
time_64.c sh: Kill off mv_heartbeat() from the machvec. 2008-12-22 18:44:44 +09:00
topology.c
traps.c
traps_32.c sh: fix unaligned and nonexistent address handling 2009-01-21 18:35:55 +09:00
traps_64.c
vmlinux.lds.S
vmlinux_32.lds.S sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
vmlinux_64.lds.S