linux-pinenote/arch/sh/include/asm
Giuseppe CAVALLARO d53e4307c2 sh: Use GCC __builtin_prefetch() to implement prefetch().
GCC's __builtin_prefetch() was introduced a long time ago, all
supported GCC versions have it. So this patch is to use it for
implementing the prefetch on SH2A and SH4.

The current  prefetch implementation is almost equivalent with
__builtin_prefetch.
The third parameter in the __builtin_prefetch is the locality
that it's not supported on SH architectures.  It has been set
to three and it should be verified if it's suitable for SH2A
as well. I didn't test on this architecture.

The builtin usage should be more efficient that an __asm__
because less barriers, and because the compiler doesn't see the
inst as a "black box" allowing better code generation.

This has been already done on other architectures (see the commit:
0453fb3c52).

Many thanks to Christian Bruel <christain.bruel@st.com> for his
support on evaluate the impact of the gcc built-in on SH4 arch.

No regressions found while testing with LMbench on STLinux targets.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-11-18 14:53:18 +09:00
..
adc.h
addrspace.h sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00
alignment.h sh: Split out the unaligned counters and user bits. 2010-01-12 16:12:25 +09:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic-grb.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09:00
atomic-irq.h
atomic-llsc.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09:00
atomic.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
auxvec.h
bitops-grb.h
bitops-llsc.h
bitops-op32.h
bitops.h
bitsperlong.h
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h
byteorder.h
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cachectl.h
cacheflush.h sh: Fix up flush_cache_vmap() on SMP. 2010-03-04 16:47:30 +09:00
checksum.h
checksum_32.h
clkdev.h sh: Merge clkdev API updates. 2010-03-09 11:57:17 +09:00
clock.h sh: move sh clock.c contents to drivers/sh/clk. 2010-05-13 17:39:14 +09:00
cmpxchg-grb.h sh: fixed cmpxchg gRB version 2010-01-27 22:36:25 +09:00
cmpxchg-irq.h
cmpxchg-llsc.h
cpu-features.h
cputime.h
current.h
delay.h
device.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma-register.h dmaengine: shdma: separate DMA headers. 2010-03-02 11:09:04 +09:00
dma-sh.h dmaengine: shdma: separate DMA headers. 2010-03-02 11:09:04 +09:00
dma.h sh: Fix up MAX_DMA_CHANNELS definition when DMA is disabled. 2009-12-17 14:25:10 +09:00
dmabrg.h
dwarf.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
elf.h sh: update the FDPIC relocations. 2010-06-14 18:02:13 +09:00
emergency-restart.h
entry-macros.S
errno.h
fb.h
fcntl.h
fixmap.h sh: fix up an off-by-1 in the number of early ioremap fixmaps. 2010-06-21 16:23:03 +09:00
flat.h
fpu.h sh: Move over to dynamically allocated FPU context. 2010-01-13 12:51:40 +09:00
freq.h
ftrace.h
futex-irq.h
futex.h
gpio.h sh: Allow GPIO chips to register IRQ mappings. 2010-10-03 03:55:39 +09:00
hardirq.h
hd64461.h
heartbeat.h
hugetlb.h
hw_breakpoint.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-05-19 11:36:03 -07:00
hw_irq.h
hwblk.h sh: get rid of hwblk clock names 2010-05-11 11:48:47 +09:00
i2c-sh7760.h
io.h sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
io_generic.h sh: enable LMB region setup via machvec. 2010-05-10 15:39:05 +09:00
io_trapped.h
ioctl.h
ioctls.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
ipcbuf.h
irq.h sh: modify NR_IRQS from 256 to 512 2010-07-06 17:37:32 +09:00
irq_regs.h
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-08-16 13:32:24 +09:00
kdebug.h sh: hw-breakpoints: Add preliminary support for SH-4A UBC. 2009-12-08 15:02:27 +09:00
kexec.h sh: convert kexec crash kernel management to LMB. 2010-05-07 14:54:55 +09:00
kgdb.h
kmap_types.h
kprobes.h sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
machvec.h sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
mc146818rtc.h
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
mman.h
mmu.h sh: Fix up NUMA build for 29-bit. 2010-03-10 16:29:48 +09:00
mmu_context.h sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
mmu_context_32.h sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
mmu_context_64.h
mmzone.h sh: bootmem refactoring. 2010-05-11 13:32:19 +09:00
module.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
msgbuf.h
mutex-llsc.h
mutex.h
page.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
param.h
parport.h
pci.h sh: pci: Use a generic raw spinlock for PCI config access locking. 2010-09-20 18:56:13 +09:00
percpu.h
perf_event.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
pgalloc.h sh: default to extended TLB support. 2010-01-13 19:11:14 +09:00
pgtable-2level.h sh: Rename split-level pgtable headers. 2010-01-13 19:18:39 +09:00
pgtable-3level.h sh: Rename split-level pgtable headers. 2010-01-13 19:18:39 +09:00
pgtable.h sh: Simplify phys_addr_mask()/PTE_PHYS_MASK for 29/32-bit. 2010-11-04 12:51:08 +09:00
pgtable_32.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-10-28 12:06:51 -07:00
pgtable_64.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-10-28 12:06:51 -07:00
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
processor.h sh: Expose physical addressing mode through cpuinfo. 2010-10-26 14:44:58 +09:00
processor_32.h sh: Use GCC __builtin_prefetch() to implement prefetch(). 2010-11-18 14:53:18 +09:00
processor_64.h sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
ptrace.h sh: split out ptrace header for _32/_64 variants. 2010-06-14 16:02:47 +09:00
ptrace_32.h sh: split out ptrace header for _32/_64 variants. 2010-06-14 16:02:47 +09:00
ptrace_64.h sh: split out ptrace header for _32/_64 variants. 2010-06-14 16:02:47 +09:00
push-switch.h
reboot.h sh: machine_ops based reboot support. 2010-01-20 16:42:52 +09:00
resource.h
romimage-macros.h
rtc.h
rwsem.h sh: Replace old style lock initializer 2009-11-09 10:47:40 +09:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h
sections.h
segment.h
sembuf.h
serial.h
setup.h sh: bootmem refactoring. 2010-05-11 13:32:19 +09:00
sfp-machine.h
sh7760fb.h
sh_bios.h sh: Kill off more unused sh_bios callbacks. 2010-01-12 15:26:11 +09:00
sh_eth.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
siu.h sh: define DMA slaves per CPU type, remove now redundant header 2010-05-22 16:51:17 +09:00
sizes.h sh: mach-sdk7786: Add support for the FPGA SRAM. 2010-10-15 02:13:04 +09:00
smc37c93x.h
smp-ops.h sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
smp.h sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
socket.h
sockios.h
sparsemem.h
spi.h
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
sram.h sh: Provide a generic SRAM pool for tiny memories. 2010-10-15 02:09:00 +09:00
stacktrace.h
stat.h
statfs.h
string.h
string_32.h
string_64.h
suspend.h sh: SH-Mobile R-standby register save/restore 2010-02-26 15:29:26 +09:00
swab.h
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscall_32.h
syscall_64.h
syscalls.h Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
syscalls_32.h SH: Add missing consts to sys_execve() declaration 2010-10-07 14:08:52 +01:00
syscalls_64.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
system.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
system_32.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
system_64.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
termbits.h
termios.h
thread_info.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
timex.h sh: Only provide a PCLK definition for legacy CPG CPUs. 2009-12-29 11:09:30 +09:00
tlb.h sh: Split out MMUCR.URB based entry wiring in to shared helper. 2010-01-19 15:20:35 +09:00
tlb_64.h
tlbflush.h sh: Provide a global TLB flush for U/I-TLB clear. 2010-07-02 15:44:09 +09:00
topology.h sh: Fix up cpumask_of_pcibus() for the NUMA build. 2010-03-02 15:54:47 +09:00
types.h
uaccess.h
uaccess_32.h
uaccess_64.h
ucontext.h
unaligned-sh4a.h
unaligned.h
uncached.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
unistd.h
unistd_32.h sh: Provide a non-multiplexed sys_recvmmsg path. 2010-09-14 17:43:11 +09:00
unistd_64.h sh: wire up fanotify/prlimit64 syscalls. 2010-08-16 13:51:18 +09:00
unwinder.h
user.h
vga.h
vmlinux.lds.h sh64: fix up memory offset calculation. 2010-02-12 15:41:45 +09:00
watchdog.h sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
xor.h