linux/arch/sh/include/asm
Christoph Hellwig baed7fc9b5 Add generic sys_ipc wrapper
Add a generic implementation of the ipc demultiplexer syscall.  Except for
s390 and sparc64 all implementations of the sys_ipc are nearly identical.

There are slight differences in the types of the parameters, where mips
and powerpc as the only 64-bit architectures with sys_ipc use unsigned
long for the "third" argument as it gets casted to a pointer later, while
it traditionally is an "int" like most other paramters.  frv goes even
further and uses unsigned long for all parameters execept for "ptr" which
is a pointer type everywhere.  The change from int to unsigned long for
"third" and back to "int" for the others on frv should be fine due to the
in-register calling conventions for syscalls (we already had a similar
issue with the generic sys_ptrace), but I'd prefer to have the arch
maintainers looks over this in details.

Except for that h8300, m68k and m68knommu lack an impplementation of the
semtimedop sub call which this patch adds, and various architectures have
gets used - at least on i386 it seems superflous as the compat code on
x86-64 and ia64 doesn't even bother to implement it.

[akpm@linux-foundation.org: add sys_ipc to sys_ni.c]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Reviewed-by: H. Peter Anvin <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: James Morris <jmorris@namei.org>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: David Howells <dhowells@redhat.com>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-12 15:52:32 -08:00
..
Kbuild sh: hw-breakpoints: Add preliminary support for SH-4A UBC. 2009-12-08 15:02:27 +09:00
adc.h
addrspace.h sh: Make 29/32-bit mode check helper generally available. 2010-01-20 16:40:48 +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 sh: Make the atomic functions safe for irqsoff tracing 2009-06-15 00:31:17 +09:00
atomic-llsc.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09:00
atomic.h sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. 2010-01-08 17:02:17 +09: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: Fix up smp_mb__xxx() memory barriers for SH-4A SMP. 2009-10-18 15:36:02 +09:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h sh64: dummy unwinder BUG wrappers. 2009-08-22 05:31:45 +09:00
bugs.h sh: Idle loop chainsawing for SMP-based light sleep. 2009-10-16 17:20:58 +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
cachectl.h sh: fix sys_cacheflush error checking 2009-08-24 18:59:09 +09:00
cacheflush.h sh: Fix up flush_cache_vmap() on SMP. 2010-03-04 16:47:30 +09:00
checksum.h sh: Convert sh64 to use the generic checksum code. 2009-06-15 00:00:42 +09:00
checksum_32.h
clock.h sh: add sh7724 kick callback to clk_div4_table 2010-02-22 19:11:22 +09:00
cmpxchg-grb.h sh: fixed cmpxchg gRB version 2010-01-27 22:36:25 +09:00
cmpxchg-irq.h
cmpxchg-llsc.h sh: Fix sh4a llsc-based cmpxchg() 2009-06-11 09:31:55 +03: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
current.h sh: Convert to asm-generic/current.h. 2009-06-14 21:34:26 +09:00
delay.h
device.h sh: Runtime PM for SuperH Mobile platform bus devices 2009-08-23 18:03:17 +09:00
div64.h
dma-mapping.h sh: Quiet noisy coherent DMA unmapping on R2D. 2010-01-28 15:55:37 +09: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
dmaengine.h dmaengine: shdma: extend .device_terminate_all() to record partial transfer 2010-03-02 11:12:03 +09:00
dwarf.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
elf.h elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
emergency-restart.h
entry-macros.S sh: Remove implicit sign extension from assembler immediates 2009-08-24 17:09:53 +09:00
errno.h
fb.h
fcntl.h
fixmap.h sh: Conserve fixmap slots when IOREMAP_FIXED=n. 2010-01-21 16:16:36 +09:00
flat.h flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
fpu.h sh: Move over to dynamically allocated FPU context. 2010-01-13 12:51:40 +09:00
freq.h
ftrace.h sh: Provide CALLER_ADDRx definitions even when ftrace is disabled. 2009-10-14 11:49:49 +09:00
futex-irq.h
futex.h
gpio.h sh: Break out SuperH PFC code 2009-11-30 12:02:53 +09:00
hardirq.h sh: Count NMIs in irq_cpustat_t. 2009-10-14 16:42:28 +09:00
hd64461.h sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
heartbeat.h sh: Prevent heartbeat from scribbling over non-LED bits. 2009-08-18 21:16:29 +09:00
hugetlb.h
hw_breakpoint.h sh: Fix up asm/hw_breakpoint.h header check. 2010-01-30 11:29:56 +09:00
hw_irq.h sh: Move the shared INTC code out to drivers/sh/ 2008-10-01 16:13:54 +09:00
hwblk.h sh: Runtime PM for SuperH Mobile platform bus devices 2009-08-23 18:03:17 +09:00
i2c-sh7760.h
ilsel.h
io.h sh: reworked dynamic PMB mapping. 2010-03-02 16:40:06 +09:00
io_generic.h sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.h
ioctl.h
ioctls.h
ipcbuf.h sh: Convert ipc/shm bits to their asm-generic versions. 2009-06-14 23:20:27 +09:00
irq.h sh: Tidy up duplication in irq/swab/timex.h. 2009-06-14 23:21:54 +09:00
irq_regs.h
irqflags.h sh: Convert to asm-generic/irqflags.h. 2009-10-17 21:06:39 +09:00
kdebug.h sh: hw-breakpoints: Add preliminary support for SH-4A UBC. 2009-12-08 15:02:27 +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: Kill off kgdb's magical NMI debouncing. 2009-09-01 17:45:35 +09:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h sh: Rename opcode_t to insn_size_t. 2009-05-09 16:02:08 +09:00
linkage.h
lmb.h sh: Use bootmem ontop of lmb 2009-07-03 16:16:54 +09:00
local.h
machvec.h sh: move machtypes.h to include/generated 2009-12-12 13:08:14 +01:00
mc146818rtc.h
mman.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
mmu.h sh: reworked dynamic PMB mapping. 2010-03-02 16:40:06 +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: Fix up NUMA build error with se7722_defconfig. 2008-09-12 22:41:30 +09:00
module.h sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
msgbuf.h sh: Convert ipc/shm bits to their asm-generic versions. 2009-06-14 23:20:27 +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: Merge legacy and dynamic PMB modes. 2010-02-18 18:13:51 +09:00
param.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
parport.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
pci.h sh: Fix up early PCI PERR/SERR IRQ handling. 2010-02-03 16:46:20 +09:00
percpu.h
perf_event.h sh: perf events: Add preliminary support for SH-4A counters. 2009-10-28 17:57:54 +09: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 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
pgtable_32.h sh: Provide a dummy _PAGE_WIRED flag for non-X2TLB parts. 2010-01-19 14:23:39 +09:00
pgtable_64.h sh: Acquire some more page flags for SH-5. 2010-01-16 14:29:06 +00:00
poll.h
posix_types.h
posix_types_32.h sh: Convert to asm-generic/posix_types.h. 2009-06-14 23:16:27 +09:00
posix_types_64.h sh: Convert to asm-generic/posix_types.h. 2009-06-14 23:16:27 +09:00
processor.h sh: wire up SET/GET_UNALIGN_CTL. 2010-02-23 12:56:30 +09:00
processor_32.h sh: wire up SET/GET_UNALIGN_CTL. 2010-02-23 12:56:30 +09:00
processor_64.h sh: wire up SET/GET_UNALIGN_CTL. 2010-02-23 12:56:30 +09:00
ptrace.h sh: uncached mapping helpers. 2010-02-17 16:28:00 +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 sh: add romimage-macros.h 2009-09-11 13:19:16 +09:00
rtc.h sh: rtc-generic support. 2009-04-27 17:34:39 +09:00
rwsem.h sh: Replace old style lock initializer 2009-11-09 10:47:40 +09:00
scatterlist.h sh: Prepare for dynamic PMB support 2009-10-10 21:51:12 +09:00
seccomp.h sh: seccomp support. 2008-08-02 04:39:32 +09:00
sections.h sh: dwarf unwinder support. 2009-08-14 01:58:43 +09:00
segment.h
sembuf.h sh: Convert ipc/shm bits to their asm-generic versions. 2009-06-14 23:20:27 +09:00
serial.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
setup.h sh: Consolidate the sh_bios earlyprintk code. 2010-01-12 15:31:20 +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 net: allow sh_eth to get mac address through platform data 2009-10-13 03:44:05 -07:00
shmbuf.h sh: Convert ipc/shm bits to their asm-generic versions. 2009-06-14 23:20:27 +09:00
shmparam.h
sigcontext.h
siginfo.h
signal.h sh: Convert to asm-generic/signal.h. 2009-06-14 23:25:57 +09:00
siu.h dmaengine: shdma: separate DMA headers. 2010-03-02 11:09:04 +09:00
sizes.h sh: Add a few more definitions to asm/sizes.h. 2008-09-21 10:31:57 +09:00
smc37c93x.h
smp.h cpumask: remove arch_send_call_function_ipi 2009-09-24 09:34:47 +09:30
socket.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
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
stacktrace.h sh: Use the generalized stacktrace ops 2009-08-13 11:50:08 +09:00
stat.h
statfs.h
string.h
string_32.h
string_64.h sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen(). 2008-12-22 18:44:05 +09:00
suspend.h sh: SH-Mobile R-standby register save/restore 2010-02-26 15:29:26 +09:00
swab.h sh: Tidy up duplication in irq/swab/timex.h. 2009-06-14 23:21:54 +09:00
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscall_32.h sh: Add ftrace syscall tracing support 2009-07-06 20:16:33 +09:00
syscall_64.h sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
syscalls.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08: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
system.h sh: Isolate uncached mapping support. 2010-02-12 15:40:00 +09:00
system_32.h sh: Kill off the special uncached section and fixmap. 2010-01-21 16:05:25 +09:00
system_64.h sh: Isolate uncached mapping support. 2010-02-12 15:40:00 +09:00
termbits.h sh: Convert to asm-generic/termbits.h and termios.h. 2009-06-14 23:17:57 +09:00
termios.h sh: Convert to asm-generic/termbits.h and termios.h. 2009-06-14 23:17:57 +09:00
thread_info.h sh: Move over to dynamically allocated FPU context. 2010-01-13 12:51:40 +09: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 sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
tlbflush.h
topology.h sh: Fix up cpumask_of_pcibus() for the NUMA build. 2010-03-02 15:54:47 +09:00
types.h sh: Add register alignment helpers for shared flushers. 2009-08-15 01:57:36 +09:00
uaccess.h sh: Proper __put_user_asm() size mismatch fix. 2008-07-29 09:16:33 +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
ucontext.h sh: Switch to asm-generic versions for identical headers. 2009-06-14 23:26:48 +09:00
unaligned-sh4a.h sh: 16-bit get_unaligned() sh4a fix 2009-06-04 20:20:24 +09:00
unaligned.h sh: Convert to asm-generic/unaligned.h. 2009-06-14 23:24:43 +09:00
uncached.h sh: Merge legacy and dynamic PMB modes. 2010-02-18 18:13:51 +09:00
unistd.h
unistd_32.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
unistd_64.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
unwinder.h sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
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