1
linux/arch/arm/kernel
David Woodhouse edd5cd4a94 Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM
Not all the world is an i386.  Many architectures need 64-bit arguments to be
aligned in suitable pairs of registers, and the original
sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an
argument register for padding after the first integer.  Since we don't
normally have more than 6 arguments for system calls, that left no room for
the final argument on some architectures.

Fix this by introducing sys_sync_file_range2(int, int, loff_t, loff_t) which
all fits nicely.  In fact, ARM already had that, but called it
sys_arm_sync_file_range.  Move it to fs/sync.c and rename it, then implement
the needed compatibility routine.  And stop the missing syscall check from
bitching about the absence of sys_sync_file_range() if we've implemented
sys_sync_file_range2() instead.

Tested on PPC32 and with 32-bit and 64-bit userspace on PPC64.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-28 11:38:30 -07:00
..
armksyms.c [ARM] use __used attribute 2007-05-30 13:15:06 +01:00
arthur.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
asm-offsets.c [ARM] ARMv6: add CPU_HAS_ASID configuration 2007-05-17 10:19:23 +01:00
bios32.c [ARM] arch/arm/kernel/bios32.c: no need to set isa_bridge 2006-07-13 16:14:26 +01:00
calls.S Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
compat.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
compat.h [ARM] 3365/1: [cleanup] header for compat.c exported functions 2006-03-15 23:17:30 +00:00
crunch-bits.S [ARM] 3370/2: ep93xx: add crunch support 2006-06-28 17:55:01 +01:00
crunch.c [ARM] 4121/1: ep93xx: move setting of HWCAP_CRUNCH 2007-02-08 14:48:13 +00:00
debug.S [ARM] 3838/1: ARM: DCC debug console support for ARM11 2006-09-25 10:36:09 +01:00
dma-isa.c [ARM] arch/arm/kernel/dma-isa.c: named initializers 2006-05-16 22:09:46 +01:00
dma.c [ARM] Export dma_channel_active() 2007-03-31 21:36:53 +01:00
ecard.c [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
ecard.h [ARM] ecard: Move private ecard junk out of asm/ecard.h 2007-05-03 14:16:56 +01:00
entry-armv.S [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
entry-common.S [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
entry-header.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fiq.c [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation 2006-07-01 22:30:09 +01:00
head-common.S [ARM] nommu: start-up code 2006-03-27 14:58:25 +01:00
head-nommu.S [ARM] Ensure head text is always placed at the start of kernel 2007-05-08 15:15:45 +01:00
head.S [ARM] Ensure head text is always placed at the start of kernel 2007-05-08 15:15:45 +01:00
init_task.c [ARM] Shut up warning about init_thread_union 2007-05-08 12:39:37 +01:00
io.c
irq.c [ARM] Remove needless linux/ptrace.h includes 2007-04-21 20:34:47 +01:00
isa.c [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
iwmmxt.S [ARM] 3707/1: iwmmxt: use the generic thread notifier infrastructure 2006-07-01 19:56:48 +01:00
machine_kexec.c [ARM] 4137/1: Add kexec support 2007-02-16 14:37:06 +00:00
Makefile [ARM] Add stacktrace support and make oprofile use it 2007-04-28 09:59:37 +01:00
module.c [ARM] Fix ARM branch relocation range 2007-05-08 22:05:25 +01:00
process.c [ARM] Update show_regs/oops register format 2007-06-18 15:04:42 +01:00
ptrace.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ptrace.h [ARM] ptrace: clean up single stepping support 2007-04-21 20:34:58 +01:00
relocate_kernel.S [ARM] 4137/1: Add kexec support 2007-02-16 14:37:06 +00:00
semaphore.c [ARM] 3103/1: ARM EABI: stack pointer must be 64-bit aligned (part 2) 2006-01-14 16:18:09 +00:00
setup.c [ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts 2007-05-20 19:36:04 +01:00
signal.c [ARM] ptrace: clean up single stepping support 2007-04-21 20:34:58 +01:00
signal.h [ARM] nommu: fixups for the exception vectors 2006-03-27 15:18:50 +01:00
smp.c [ARM] Mark SMP local timer and IPI as exception entries 2007-05-08 11:31:07 +01:00
stacktrace.c [ARM] Fix stacktrace FP range checking 2007-05-30 13:15:12 +01:00
stacktrace.h [ARM] Add stacktrace support and make oprofile use it 2007-04-28 09:59:37 +01:00
sys_arm.c Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
sys_oabi-compat.c [ARM] 3338/1: old ABI compat: sys_socketcall 2006-02-16 22:36:13 +00:00
time.c [ARM] Spinlock initializer cleanup 2007-05-11 17:38:04 +01:00
traps.c [ARM] Add support for pause_on_oops and display preempt/smp options 2007-06-17 13:40:39 +01:00
vmlinux.lds.S all-archs: consolidate .data section definition in asm-generic 2007-05-19 09:11:57 +02:00
xscale-cp0.c [ARM] 3881/4: xscale: clean up cp0/cp1 handling 2006-12-03 17:52:22 +00:00