Commit 4da4a4c8 authored by Thomas Spatzier's avatar Thomas Spatzier Committed by David S. Miller

[S390]: Add in compat AIO syscall support.

parent 624dec48
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
* S390 version * S390 version
* Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Author(s): Gerhard Tonn (ton@de.ibm.com), * Author(s): Gerhard Tonn (ton@de.ibm.com),
* Thomas Spatzier (tspat@de.ibm.com)
*/ */
.globl sys32_exit_wrapper .globl sys32_exit_wrapper
...@@ -1230,3 +1231,37 @@ sys_epoll_wait_wrapper: ...@@ -1230,3 +1231,37 @@ sys_epoll_wait_wrapper:
lgfr %r4,%r4 # int lgfr %r4,%r4 # int
lgfr %r5,%r5 # int lgfr %r5,%r5 # int
jg sys_epoll_wait # branch to system call jg sys_epoll_wait # branch to system call
.globl sys32_io_setup_wrapper
sys32_io_setup_wrapper:
llgfr %r2,%r2 # unsigned int
llgtr %r3,%r3 # u32 *
jg compat_sys_io_setup
.globl sys32_io_destroy_wrapper
sys32_io_destroy_wrapper:
llgfr %r2,%r2 # (aio_context_t) u32
jg sys_io_destroy
.globl sys32_io_getevents_wrapper
sys32_io_getevents_wrapper:
llgfr %r2,%r2 # (aio_context_t) u32
lgfr %r3,%r3 # long
lgfr %r4,%r4 # long
llgtr %r5,%r5 # struct io_event *
llgtr %r6,%r6 # struct compat_timespec *
jg compat_sys_io_getevents
.globl sys32_io_submit_wrapper
sys32_io_submit_wrapper:
llgfr %r2,%r2 # (aio_context_t) u32
lgfr %r3,%r3 # long
llgtr %r4,%r4 # struct iocb **
jg compat_sys_io_submit
.globl sys32_io_cancel_wrapper
sys32_io_cancel_wrapper:
llgfr %r2,%r2 # (aio_context_t) u32
llgtr %r3,%r3 # struct iocb *
llgtr %r4,%r4 # struct io_event *
jg sys_io_cancel
...@@ -251,11 +251,11 @@ SYSCALL(sys_sched_setaffinity,sys_sched_setaffinity,sys32_sched_setaffinity_wrap ...@@ -251,11 +251,11 @@ SYSCALL(sys_sched_setaffinity,sys_sched_setaffinity,sys32_sched_setaffinity_wrap
SYSCALL(sys_sched_getaffinity,sys_sched_getaffinity,sys32_sched_getaffinity_wrapper) /* 240 */ SYSCALL(sys_sched_getaffinity,sys_sched_getaffinity,sys32_sched_getaffinity_wrapper) /* 240 */
SYSCALL(sys_tgkill,sys_tgkill,sys_tgkill) SYSCALL(sys_tgkill,sys_tgkill,sys_tgkill)
NI_SYSCALL /* reserved for TUX */ NI_SYSCALL /* reserved for TUX */
SYSCALL(sys_io_setup,sys_io_setup,sys_ni_syscall) SYSCALL(sys_io_setup,sys_io_setup,sys32_io_setup_wrapper)
SYSCALL(sys_io_destroy,sys_io_destroy,sys_ni_syscall) SYSCALL(sys_io_destroy,sys_io_destroy,sys32_io_destroy_wrapper)
SYSCALL(sys_io_getevents,sys_io_getevents,sys_ni_syscall) /* 245 */ SYSCALL(sys_io_getevents,sys_io_getevents,sys32_io_getevents_wrapper) /* 245 */
SYSCALL(sys_io_submit,sys_io_submit,sys_ni_syscall) SYSCALL(sys_io_submit,sys_io_submit,sys32_io_submit_wrapper)
SYSCALL(sys_io_cancel,sys_io_cancel,sys_ni_syscall) SYSCALL(sys_io_cancel,sys_io_cancel,sys32_io_cancel_wrapper)
SYSCALL(sys_exit_group,sys_exit_group,sys32_exit_group_wrapper) SYSCALL(sys_exit_group,sys_exit_group,sys32_exit_group_wrapper)
SYSCALL(sys_epoll_create,sys_epoll_create,sys_epoll_create_wrapper) SYSCALL(sys_epoll_create,sys_epoll_create,sys_epoll_create_wrapper)
SYSCALL(sys_epoll_ctl,sys_epoll_ctl,sys_epoll_ctl_wrapper) /* 250 */ SYSCALL(sys_epoll_ctl,sys_epoll_ctl,sys_epoll_ctl_wrapper) /* 250 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment