aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-common.S
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2006-01-14 11:35:31 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-14 11:35:31 -0500
commit687ad0191488a067b3b3cc94f670cc21f93811e1 (patch)
tree2113f1d339b88c4e225c3f897718c06acbd81023 /arch/arm/kernel/entry-common.S
parent713c481519f19df9e6d90f257e7da0336b057592 (diff)
[ARM] 3109/1: old ABI compat: syscall wrappers for ABI impedance matching
Patch from Nicolas Pitre The difference between EABI and the legacy ABI may affect either structure member alignment and/or argument register selection. The patch has the details. Included are wrappers for the following syscalls: sys_stat64 sys_lstat64 sys_fstat64 sys_fcntl64 sys_epoll_ctl sys_epoll_wait sys_ipc sys_semop sys_semtimedop sys_pread64 sys_pwrite64 sys_truncate64 sys_ftruncate64 sys_readahead Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/entry-common.S')
-rw-r--r--arch/arm/kernel/entry-common.S32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index ee63ee78d84f..59ce1bcec42b 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -288,3 +288,35 @@ sys_mmap2:
288 str r5, [sp, #4] 288 str r5, [sp, #4]
289 b do_mmap2 289 b do_mmap2
290#endif 290#endif
291
292#ifdef CONFIG_OABI_COMPAT
293/*
294 * These are syscalls with argument register differences
295 */
296
297sys_oabi_pread64:
298 stmia sp, {r3, r4}
299 b sys_pread64
300
301sys_oabi_pwrite64:
302 stmia sp, {r3, r4}
303 b sys_pwrite64
304
305sys_oabi_truncate64:
306 mov r3, r2
307 mov r2, r1
308 b sys_truncate64
309
310sys_oabi_ftruncate64:
311 mov r3, r2
312 mov r2, r1
313 b sys_ftruncate64
314
315sys_oabi_readahead:
316 str r3, [sp]
317 mov r3, r2
318 mov r2, r1
319 b sys_readahead
320
321#endif
322