]> git.proxmox.com Git - mirror_qemu.git/commitdiff
linux-user: support the KDSIGACCEPT ioctl
authorPaul Burton <paul@archlinuxmips.org>
Sun, 22 Jun 2014 10:25:47 +0000 (11:25 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Sun, 29 Jun 2014 11:19:59 +0000 (14:19 +0300)
Add a definition of the KDSIGACCEPT ioctl & allow its use by target
programs.

Signed-off-by: Paul Burton <paul@archlinuxmips.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/ioctls.h
linux-user/syscall.c
linux-user/syscall_defs.h

index 309fb217593c3eaa4de823e52200d4fb704e19e6..f278d3e98938cc0ff4a50db4fb9944b72e216da3 100644 (file)
@@ -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))
index 8e2762b0ed3c210da023158ba7116b160c77e761..5a272d3d08bfa7feeb1d7e0579636e9c26538e04 100644 (file)
@@ -3689,6 +3689,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__ } },
index a1f1fce9214e8439d38dffd076ff72d30c21a6e8..4adfd3a40084dac7646cc156e7ca6b006689048b 100644 (file)
@@ -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