linux/arch/tile/include/asm
Chris Metcalf 48b25c43e6 [PATCH v3] ipc: provide generic compat versions of IPC syscalls
When using the "compat" APIs, architectures will generally want to
be able to make direct syscalls to msgsnd(), shmctl(), etc., and
in the kernel we would want them to be handled directly by
compat_sys_xxx() functions, as is true for other compat syscalls.

However, for historical reasons, several of the existing compat IPC
syscalls do not do this.  semctl() expects a pointer to the fourth
argument, instead of the fourth argument itself.  msgsnd(), msgrcv()
and shmat() expect arguments in different order.

This change adds an ARCH_WANT_OLD_COMPAT_IPC config option that can be
set to preserve this behavior for ports that use it (x86, sparc, powerpc,
s390, and mips).  No actual semantics are changed for those architectures,
and there is only a minimal amount of code refactoring in ipc/compat.c.

Newer architectures like tile (and perhaps future architectures such
as arm64 and unicore64) should not select this option, and thus can
avoid having any IPC-specific code at all in their architecture-specific
compat layer.  In the same vein, if this option is not selected, IPC_64
mode is assumed, since that's what the <asm-generic> headers expect.

The workaround code in "tile" for msgsnd() and msgrcv() is removed
with this change; it also fixes the bug that shmat() and semctl() were
not being properly handled.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-03-15 13:13:38 -04:00
..
asm-offsets.h
atomic_32.h atomic: move atomic_add_unless to generic code 2011-07-26 16:49:47 -07:00
atomic_64.h atomic: move atomic_add_unless to generic code 2011-07-26 16:49:47 -07:00
atomic.h atomic: cleanup asm-generic atomic*.h inclusion 2011-07-26 16:49:47 -07:00
auxvec.h
backtrace.h arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
bitops_32.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
bitops_64.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
bitops.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
bitsperlong.h
byteorder.h
cache.h arch/tile: catch up with section naming convention in 2.6.35 2011-03-01 16:18:52 -05:00
cacheflush.h arch/tile: clarify flush_buffer()/finv_buffer() function names 2011-05-04 14:41:20 -04:00
checksum.h
compat.h [PATCH v3] ipc: provide generic compat versions of IPC syscalls 2012-03-15 13:13:38 -04:00
current.h
delay.h
dma-mapping.h tile,mn10300: add device parameter to dma_cache_sync() 2011-05-04 14:41:36 -04:00
dma.h
edac.h drivers/edac: provide support for tile architecture 2011-03-10 13:30:14 -05:00
elf.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
fixmap.h arch/tile: remove useless set_fixmap_nocache() macro 2011-06-15 10:35:38 -04:00
ftrace.h
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
hardirq.h
hardwall.h arch/tile: more /proc and /sys file support 2011-05-27 10:39:05 -04:00
highmem.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
homecache.h
hugetlb.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
hv_driver.h
hw_irq.h
ide.h
io.h tile: don't panic on iomap 2011-12-04 16:00:07 +02:00
irq.h arch/tile: use new generic {enable,disable}_percpu_irq() routines 2011-12-03 15:31:49 -05:00
irqflags.h arch/tile: support newer binutils assembler shift semantics 2011-03-17 14:32:06 -04:00
Kbuild arch/tile: add the <arch> headers to the set of installed kernel headers 2011-11-03 16:58:48 -04:00
kexec.h
kmap_types.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
linkage.h
memprof.h
mman.h arch/tile: provide a definition of MAP_STACK 2010-10-14 15:09:02 -04:00
mmu_context.h tile: replace mm->cpu_vm_mask with mm_cpumask() 2011-05-04 14:41:44 -04:00
mmu.h
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
page.h arch/tile: kernel-related cleanups from removing static page size 2011-05-04 14:41:13 -04:00
pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
percpu.h
pgalloc.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
pgtable_32.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
pgtable_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
pgtable.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
processor.h arch/tile: support signal "exception-trace" hook 2011-05-19 22:55:59 -04:00
ptrace.h ptrace: unify show_regs() prototype 2011-07-26 16:49:43 -07:00
sections.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
setup.h arch/tile: export only COMMAND_LINE_SIZE to userspace. 2010-08-15 12:14:41 -04:00
sigcontext.h arch/tile: avoid ISO namespace pollution with <asm/sigcontext.h> 2011-11-03 16:58:36 -04:00
sigframe.h
siginfo.h arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx. 2010-08-13 08:32:21 -04:00
signal.h UAPI: Split trivial #if defined(__KERNEL__) && X conditionals 2011-12-13 15:07:49 +00:00
smp.h arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
spinlock_32.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
spinlock_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
spinlock_types.h
spinlock.h
stack.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
stat.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
string.h
swab.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
syscall.h
syscalls.h arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -04:00
system.h arch/tile: use extended assembly to inline __mb_incoherent() 2011-03-01 16:20:54 -05:00
thread_info.h arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
tile-desc_32.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_64.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
timex.h arch/tile: fix __ndelay etc to work better 2011-03-01 16:20:04 -05:00
tlb.h
tlbflush.h
topology.h arch/tile: disable SD_WAKE_AFFINE flag on CPU/NODE scheduling domain 2011-05-04 14:40:16 -04:00
traps.h arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
uaccess.h arch/tile: Various cleanups. 2010-08-13 08:52:19 -04:00
unaligned.h
unistd.h arch/tile: cleanups for tilegx compat mode 2011-05-19 22:56:13 -04:00
user.h
vga.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00