linux/include
Nicolas Pitre 68d9102f76 [ARM] 2865/2: fix fadvise64_64 syscall argument passing
Patch from Nicolas Pitre

The prototype for sys_fadvise64_64() is:
    long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice)
The argument list is therefore as follows on legacy ABI:
	fd: type int (r0)
	offset: type long long (r1-r2)
	len: type long long (r3-sp[0])
	advice: type int (sp[4])
With EABI this becomes:
	fd: type int (r0)
	offset: type long long (r2-r3)
	len: type long long (sp[0]-sp[4])
	advice: type int (sp[8])
Not only do we have ABI differences here, but the EABI version requires
one additional word on the syscall stack.
To avoid the ABI mismatch and the extra stack space required with EABI
this syscall is now defined with a different argument ordering
on ARM as follows:
    long sys_arm_fadvise64_64(int fd, int advice, loff_t offset, loff_t len)
This gives us the following ABI independent argument distribution:
	fd: type int (r0)
	advice: type int (r1)
	offset: type long long (r2-r3)
	len: type long long (sp[0]-sp[4])
Now, since the syscall entry code takes care of 5 registers only by
default including the store of r4 to the stack, we need a wrapper to
store r5 to the stack as well.  Because that wrapper was missing and was
always required this means that sys_fadvise64_64 never worked on ARM and
therefore we can safely reuse its syscall number for our new
sys_arm_fadvise64_64 interface.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-01 12:37:13 +01:00
..
acpi /home/lenb/src/to-linus branch 'acpi-2.6.12' 2005-07-29 23:31:17 -04:00
asm-alpha [PATCH] alpha xchg fix 2005-08-23 18:43:44 -07:00
asm-arm [ARM] 2865/2: fix fadvise64_64 syscall argument passing 2005-09-01 12:37:13 +01:00
asm-arm26 [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-cris [PATCH] CRIS update: new subarchitecture v32 2005-07-27 16:26:01 -07:00
asm-frv [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-generic [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
asm-h8300 [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-i386 [PATCH] i386 / desc_empty macro is incorrect 2005-08-16 12:18:01 -07:00
asm-ia64 [IA64] remove unused function __ia64_get_io_port_base 2005-08-18 14:40:00 -07:00
asm-m32r [PATCH] m32r smp.h gcc4 fixes 2005-08-23 18:43:44 -07:00
asm-m68k [PATCH] m68k: fix broken macros causing compile errors 2005-08-24 09:37:40 -07:00
asm-m68knommu [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-mips [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-parisc [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
asm-ppc [PATCH] qualifiers in return types - easy cases 2005-08-23 18:43:45 -07:00
asm-ppc64 [PATCH] ppc64: Fix issue with gcc 4.0 compiled kernels 2005-08-26 19:37:11 -07:00
asm-s390 [PATCH] s390 __CHECKER__ ifdefs 2005-08-23 18:43:46 -07:00
asm-sh [PATCH] SH: inotify and ioprio syscalls 2005-08-18 12:53:57 -07:00
asm-sh64 [PATCH] SH64: inotify and ioprio syscalls 2005-08-18 12:53:57 -07:00
asm-sparc [SPARC]: Add inotify syscall entries. 2005-07-27 14:14:39 -07:00
asm-sparc64 [SPARC64]: Move kernel unaligned trap handlers into assembler file. 2005-08-19 15:55:33 -07:00
asm-um um: fix __pa/__va macro expansion problem 2005-08-15 17:40:46 -07:00
asm-v850 [PATCH] v850: Define L1_CACHE_SHIFT and L1_CACHE_SHIFT_MAX 2005-07-27 16:26:03 -07:00
asm-x86_64 [PATCH] x86_64: Tell VM about holes in nodes 2005-08-26 19:37:12 -07:00
asm-xtensa [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
linux [PATCH] mod_devicetable.h fixes 2005-08-29 10:42:39 -07:00
math-emu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
media [PATCH] V4L: Miscellaneous fixes 2005-08-01 19:13:59 -07:00
mtd [MTD] NAND: Honour autoplacement schemes supplied by the caller 2005-05-23 13:20:45 +02:00
net [AX25]: UID fixes 2005-08-23 10:11:45 -07:00
pcmcia [PATCH] pcmcia: fix pcmcia-cs compilation 2005-07-12 16:00:59 -07:00
rdma [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi [SCSI] fix target scanning oops with fc transport class 2005-08-08 17:14:55 -05:00
sound [PATCH] Kconfig fix (ISA_DMA_API and sound/*) 2005-08-23 18:43:40 -07:00
video [PATCH] Clean-up and bug fix for tdfxfb framebuffer size detection 2005-05-01 08:59:25 -07:00