linux/arch/sh/include/asm
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
..
.gitignore sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
adc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
addrspace.h sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
atomic-grb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
atomic-irq.h sh: Use the atomic_t "counter" member 2009-01-29 11:57:10 +09:00
atomic-llsc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
atomic.h atomic_t: unify all arch definitions 2009-01-06 15:59:10 -08:00
auxvec.h sh: Make sure AT_SYSINFO_EHDR is exposed to userspace in asm/auxvec.h. 2008-07-29 23:12:25 +09:00
bitops-grb.h sh: Convert to generic bitops for IRQ-toggling implementation. 2008-12-22 18:42:53 +09:00
bitops-llsc.h sh: Relax inline assembly constraints 2009-01-29 11:57:09 +09:00
bitops-op32.h sh: Provide optimized non-atomic bitops for SH-2A. 2008-12-22 18:42:54 +09:00
bitops.h sh: Provide optimized non-atomic bitops for SH-2A. 2008-12-22 18:42:54 +09:00
bug.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
bugs.h sh: Add support for SH7201 CPU subtype. 2008-12-22 18:43:50 +09:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
cacheflush.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
checksum_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
checksum_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
checksum.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
clock.h sh: clkfwk: add clk_set_parent/clk_get_parent 2009-03-11 17:18:46 +09:00
cmpxchg-grb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
cmpxchg-irq.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
cmpxchg-llsc.h sh: Relax inline assembly constraints 2009-01-29 11:57:09 +09:00
cpu-features.h sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
cputime.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
current.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
delay.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
device.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
div64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
dma-mapping.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-08-01 10:53:43 -07:00
dma-sh.h sh: Revert CONFIG_NR_ONCHIP_DMA_CHANNELS to MAX_DMA_CHANNELS 2009-03-16 19:43:08 +09:00
dma.h sh: dma-sh updates for multi IRQ and new SH-4A CPUs. 2009-03-10 17:26:49 +09:00
dmabrg.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
elf.h Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
emergency-restart.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
entry-macros.S sh: prefetch early exception data on sh4/sh4a. 2009-02-27 16:41:17 +09:00
errno.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
fb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
fcntl.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
fixmap.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
flat.h sh: Provide a FLAT_PLAT_INIT() definition. 2008-08-11 20:17:55 +09:00
fpu.h sh: Add FPU registers to regset interface. 2008-09-21 19:04:55 +09:00
freq.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ftrace.h sh: Provide a dyn_arch_ftrace struct definition. 2008-12-22 18:43:50 +09:00
futex-irq.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
futex.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
gpio.h sh: use gpiolib 2009-01-27 14:49:10 +09:00
hardirq.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
hd64461.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
heartbeat.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
hugetlb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
hw_irq.h sh: Move the shared INTC code out to drivers/sh/ 2008-10-01 16:13:54 +09:00
i2c-sh7760.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ilsel.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
io_generic.h sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
io.h sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
ioctl.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ioctls.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ipcbuf.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
irq_regs.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
irq.h sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
irqflags_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
irqflags_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
irqflags.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h sh: Wire up oops reporting in the die notifier chain. 2008-10-21 18:33:36 +09:00
kexec.h kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
kgdb.h sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
kmap_types.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
kprobes.h SH: fix start_thread and user_stack_pointer macros 2009-01-29 15:41:15 +09:00
linkage.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
local.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
machvec.h sh: mach-edosk7705: Fix up edosk7705 so it all builds again. 2008-12-22 18:44:45 +09:00
mc146818rtc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mman.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mmu_context_32.h sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
mmu_context_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mmu_context.h sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. 2009-03-17 17:49:49 +09:00
mmu.h NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
mmzone.h sh: Fix up NUMA build error with se7722_defconfig. 2008-09-12 22:41:30 +09:00
module.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
msgbuf.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
mutex-llsc.h sh: Fix up T-bit error handling in SH-4A mutex fastpath. 2009-01-29 11:56:03 +09:00
mutex.h sh: Add SH-4A optimized fastpath mutex implementation. 2008-12-22 18:42:55 +09:00
page.h sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
param.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
parport.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
pci.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
percpu.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
pgalloc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
pgtable_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
pgtable_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
pgtable.h sh: Handle fixmap TLB eviction more coherently. 2008-11-10 20:00:45 +09:00
poll.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
posix_types_32.h asm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage 2009-01-21 17:41:21 +09:00
posix_types_64.h asm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage 2009-01-21 17:41:21 +09:00
posix_types.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
processor_32.h sh: Disable unsupportable prefetching on SH-3. 2009-02-27 16:42:05 +09:00
processor_64.h SH: fix start_thread and user_stack_pointer macros 2009-01-29 15:41:15 +09:00
processor.h sh: Add support for SH7786 CPU subtype. 2009-03-03 15:40:25 +09:00
ptrace.h sh: remove EXPEVT vector from stack on sh3/sh4/sh4a 2009-02-27 16:26:19 +09:00
push-switch.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
resource.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
rtc.h sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
rwsem.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
scatterlist.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
seccomp.h sh: seccomp support. 2008-08-02 04:39:32 +09:00
sections.h sh: hibernation support 2009-03-10 12:55:40 +09:00
segment.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sembuf.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
serial.h sh: Kill off long-dead HD64465 cchip support. 2008-10-28 20:07:44 +09:00
setup.h sh: Fix up headers_check regression. 2008-09-17 23:24:59 +09:00
sfp-machine.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sh7760fb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sh_bios.h sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_eth.h [netdrvr] sh_eth: Add SH7619 support 2008-08-07 02:20:57 -04:00
sh_keysc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
shmbuf.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
shmparam.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sigcontext.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
siginfo.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
signal.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sizes.h sh: Add a few more definitions to asm/sizes.h. 2008-09-21 10:31:57 +09:00
smc37c93x.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
smp.h cpumask: convert struct clock_event_device to cpumask pointers. 2008-12-13 21:20:26 +10:30
socket.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sockios.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
sparsemem.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
spi.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
spinlock_types.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
spinlock.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
stat.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
statfs.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
string_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
string_64.h sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen(). 2008-12-22 18:44:05 +09:00
string.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
suspend.h sh: SuperH Mobile suspend support 2009-03-16 19:52:53 +09:00
swab.h sh: introduce asm/swab.h 2009-01-06 18:10:27 -08:00
syscall_32.h sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
syscall_64.h sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
syscall.h sh: Provide the asm/syscall.h interface, needed by tracehook. 2008-09-12 22:13:13 +09:00
syscalls_32.h [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
syscalls_64.h sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
syscalls.h sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
system_32.h sh: Move lookup_exception_vector() out to asm/system_32.h. 2008-09-21 12:00:23 +09:00
system_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
system.h sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
termbits.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
termios.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
thread_info.h sh: Support kernel stacks smaller than a page. 2008-09-20 20:21:33 +09:00
timer.h sh: rework clocksource and sched_clock 2009-01-29 16:44:17 +09:00
timex.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
tlb_64.h sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
tlb.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
tlbflush.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
topology.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask 2009-01-03 18:53:31 +01:00
types.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
uaccess_32.h sh: Proper __put_user_asm() size mismatch fix. 2008-07-29 09:16:33 +09:00
uaccess_64.h sh: sh_ksyms_64 needs __strncpy_from_user() definition. 2008-09-29 19:45:16 +09:00
uaccess.h sh: Proper __put_user_asm() size mismatch fix. 2008-07-29 09:16:33 +09:00
ubc.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
ucontext.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
unaligned-sh4a.h sh: Provide optimized unaligned loads on SH-4A. 2008-12-22 18:43:48 +09:00
unaligned.h sh: Provide optimized unaligned loads on SH-4A. 2008-12-22 18:43:48 +09:00
unistd_32.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
unistd_64.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
unistd.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
user.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
vga.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
watchdog.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
xor.h sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00