diff options
author | Nicolas Pitre <nico@cam.org> | 2006-01-14 11:35:31 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-14 11:35:31 -0500 |
commit | 687ad0191488a067b3b3cc94f670cc21f93811e1 (patch) | |
tree | 2113f1d339b88c4e225c3f897718c06acbd81023 /arch/arm/kernel/entry-common.S | |
parent | 713c481519f19df9e6d90f257e7da0336b057592 (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.S | 32 |
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 | |||
297 | sys_oabi_pread64: | ||
298 | stmia sp, {r3, r4} | ||
299 | b sys_pread64 | ||
300 | |||
301 | sys_oabi_pwrite64: | ||
302 | stmia sp, {r3, r4} | ||
303 | b sys_pwrite64 | ||
304 | |||
305 | sys_oabi_truncate64: | ||
306 | mov r3, r2 | ||
307 | mov r2, r1 | ||
308 | b sys_truncate64 | ||
309 | |||
310 | sys_oabi_ftruncate64: | ||
311 | mov r3, r2 | ||
312 | mov r2, r1 | ||
313 | b sys_ftruncate64 | ||
314 | |||
315 | sys_oabi_readahead: | ||
316 | str r3, [sp] | ||
317 | mov r3, r2 | ||
318 | mov r2, r1 | ||
319 | b sys_readahead | ||
320 | |||
321 | #endif | ||
322 | |||