[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 15/16] linux-user: support the KDSIGACCEPT ioctl
From: |
Paul Burton |
Subject: |
[Qemu-devel] [PATCH v3 15/16] linux-user: support the KDSIGACCEPT ioctl |
Date: |
Sun, 22 Jun 2014 11:25:47 +0100 |
Add a definition of the KDSIGACCEPT ioctl & allow its use by target
programs.
Signed-off-by: Paul Burton <address@hidden>
---
Changes in v3:
- Translate signal number to host value.
Changes in v2:
- None.
---
linux-user/ioctls.h | 1 +
linux-user/syscall.c | 7 +++++++
linux-user/syscall_defs.h | 1 +
3 files changed, 9 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 309fb21..f278d3e 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -64,6 +64,7 @@
IOCTL(KDSKBLED, 0, TYPE_INT)
IOCTL(KDGETLED, 0, TYPE_INT)
IOCTL(KDSETLED, 0, TYPE_INT)
+ IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT)
IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT))
IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 876e557..7765658 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3696,6 +3696,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie,
uint8_t *buf_temp,
return ret;
}
+static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,
+ int fd, abi_long cmd, abi_long arg)
+{
+ int sig = target_to_host_signal(arg);
+ return get_errno(ioctl(fd, ie->host_cmd, sig));
+}
+
static IOCTLEntry ioctl_entries[] = {
#define IOCTL(cmd, access, ...) \
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index a1f1fce..4adfd3a 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -831,6 +831,7 @@ struct target_pollfd {
#define TARGET_KDSKBLED 0x4B65 /* set led flags (not lights) */
#define TARGET_KDGETLED 0x4B31 /* return current led state */
#define TARGET_KDSETLED 0x4B32 /* set led state [lights, not flags] */
+#define TARGET_KDSIGACCEPT 0x4B4E
#define TARGET_SIOCATMARK 0x8905
--
2.0.0
- [Qemu-devel] [PATCH v3 05/16] linux-user: allow NULL arguments to mount, (continued)
- [Qemu-devel] [PATCH v3 05/16] linux-user: allow NULL arguments to mount, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 06/16] linux-user: support strace of epoll_create1, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 04/16] linux-user: support SO_PASSSEC setsockopt option, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 09/16] linux-user: allow NULL tv argument for settimeofday, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 07/16] linux-user: fix struct target_epoll_event layout for MIPS, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 10/16] linux-user: support timerfd_{create, gettime, settime} syscalls, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 08/16] linux-user: respect timezone for settimeofday, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 11/16] linux-user: support ioprio_{get, set} syscalls, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 12/16] linux-user: support {name_to, open_by}_handle_at syscalls, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 13/16] linux-user: support the setns syscall, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 15/16] linux-user: support the KDSIGACCEPT ioctl,
Paul Burton <=
- [Qemu-devel] [PATCH v3 14/16] linux-user: support the unshare syscall, Paul Burton, 2014/06/22
- [Qemu-devel] [PATCH v3 16/16] linux-user: support the SIOCGIFINDEX ioctl, Paul Burton, 2014/06/22