All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2
@ 2019-08-01 12:21 Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 01/15] linux user: Add support for FDFLUSH ioctl Aleksandar Markovic
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

A set of misc linux user patches for 4.2.

v4->v5:

  - added a patch containing support for two additional ioctls
  - added two patches containing fixes for four additional ioctls

v3->v4:

  - reworked the patch on semtimedop()
  - added five patches containing support for ten additional
    ioctls
  - minor improvements of code formatting

v2->v3:

  - minor code formatting improvements
  - added a patch on semtimedop()

v1->v2:

  - updated commit messages
  - minor improvements of code formatting
  - added three patches containing support for ten additional
    ioctls 

Aleksandar Markovic (13):
  linux-user: Add support for FDMSGON and FDMSGOFF ioctls
  linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT
    ioctls
  linux-user: Add support for FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls
  linux-user: Add support for FDSETEMSGTRESH, FDSETMAXERRS, and
    FDGETMAXERRS ioctls
  linux-user: Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls
  linux-user: Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls
  linux-user: Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC
    ioctls
  linux-user: Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS
    ioctls
  linux-user: Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE
    ioctls
  linux-user: Add support for KDGKBMETA and KDSKBMETA ioctls
  linux-user: Fix support for KDGKBLED and KDSKBLED ioctls
  linux-user: Fix support for KDGETLED and KDSETLED ioctls
  linux-user: Add support for RNDRESEEDCRNG ioctl

Aleksandar Rikalo (1):
  linux-user: Add support for semtimedop() syscall

Yunqiang Su (1):
  linux user: Add support for FDFLUSH ioctl

 linux-user/ioctls.h        | 36 ++++++++++++++++++++++++++++++++----
 linux-user/syscall.c       | 41 +++++++++++++++++++++++++++++++++++++++++
 linux-user/syscall_defs.h  | 45 +++++++++++++++++++++++++++++++++++++++++++++
 linux-user/syscall_types.h | 12 ++++++++++++
 4 files changed, 130 insertions(+), 4 deletions(-)

-- 
2.7.4



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 01/15] linux user: Add support for FDFLUSH ioctl
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 02/15] linux-user: Add support for FDMSGON and FDMSGOFF ioctls Aleksandar Markovic
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: Yunqiang Su, laurent, amarkovic

From: Yunqiang Su <ysu@wavecomp.com>

FDFLUSH is used for flushing buffers of floppy drives. Support in
QEMU is needed because some of Debian packages use this ioctl while
running post-build tests. One such example is 'tar' package.

Signed-off-by: Yunqiang Su <ysu@wavecomp.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall.c      | 1 +
 linux-user/syscall_defs.h | 4 ++++
 3 files changed, 7 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 3281c97..fb7b014 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -112,6 +112,8 @@
      IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2)))
 #endif
 
+     IOCTL(FDFLUSH, 0, TYPE_NULL)
+
 #ifdef FIBMAP
      IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
 #endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 8367cb1..ee80175 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -87,6 +87,7 @@
 #include <linux/kd.h>
 #include <linux/mtio.h>
 #include <linux/fs.h>
+#include <linux/fd.h>
 #if defined(CONFIG_FIEMAP)
 #include <linux/fiemap.h>
 #endif
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 0662270..fb30bce 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -883,6 +883,10 @@ struct target_pollfd {
 #define TARGET_BLKROTATIONAL TARGET_IO(0x12, 126)
 #define TARGET_BLKZEROOUT TARGET_IO(0x12, 127)
 
+/* From <linux/fd.h> */
+
+#define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
+
 #define TARGET_FIBMAP     TARGET_IO(0x00,1)  /* bmap access */
 #define TARGET_FIGETBSZ   TARGET_IO(0x00,2)  /* get the block size used for bmap */
 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 02/15] linux-user: Add support for FDMSGON and FDMSGOFF ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 01/15] linux user: Add support for FDFLUSH ioctl Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 03/15] linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls Aleksandar Markovic
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

FDMSGON and FDMSGOFF switch informational messages of floppy drives
on and off.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index fb7b014..9978163 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -112,6 +112,8 @@
      IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2)))
 #endif
 
+     IOCTL(FDMSGON, 0, TYPE_NULL)
+     IOCTL(FDMSGOFF, 0, TYPE_NULL)
      IOCTL(FDFLUSH, 0, TYPE_NULL)
 
 #ifdef FIBMAP
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index fb30bce..cd97e9b 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -885,6 +885,8 @@ struct target_pollfd {
 
 /* From <linux/fd.h> */
 
+#define TARGET_FDMSGON        TARGET_IO(2, 0x45)
+#define TARGET_FDMSGOFF       TARGET_IO(2, 0x46)
 #define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
 
 #define TARGET_FIBMAP     TARGET_IO(0x00,1)  /* bmap access */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 03/15] linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 01/15] linux user: Add support for FDFLUSH ioctl Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 02/15] linux-user: Add support for FDMSGON and FDMSGOFF ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 04/15] linux-user: Add support for FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls Aleksandar Markovic
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls are misc commands
for controlling a floppy drive.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 4 ++++
 linux-user/syscall_defs.h | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 9978163..ab4ef2e 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -115,6 +115,10 @@
      IOCTL(FDMSGON, 0, TYPE_NULL)
      IOCTL(FDMSGOFF, 0, TYPE_NULL)
      IOCTL(FDFLUSH, 0, TYPE_NULL)
+     IOCTL(FDRESET, 0, TYPE_NULL)
+     IOCTL(FDRAWCMD, 0, TYPE_NULL)
+     IOCTL(FDTWADDLE, 0, TYPE_NULL)
+     IOCTL(FDEJECT, 0, TYPE_NULL)
 
 #ifdef FIBMAP
      IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index cd97e9b..4185391 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -888,6 +888,10 @@ struct target_pollfd {
 #define TARGET_FDMSGON        TARGET_IO(2, 0x45)
 #define TARGET_FDMSGOFF       TARGET_IO(2, 0x46)
 #define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
+#define TARGET_FDRESET        TARGET_IO(2, 0x54)
+#define TARGET_FDRAWCMD       TARGET_IO(2, 0x58)
+#define TARGET_FDTWADDLE      TARGET_IO(2, 0x59)
+#define TARGET_FDEJECT        TARGET_IO(2, 0x5a)
 
 #define TARGET_FIBMAP     TARGET_IO(0x00,1)  /* bmap access */
 #define TARGET_FIGETBSZ   TARGET_IO(0x00,2)  /* get the block size used for bmap */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 04/15] linux-user: Add support for FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (2 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 03/15] linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 05/15] linux-user: Add support for FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls Aleksandar Markovic
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls provide means for controlling
formatting of a floppy drive.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h        | 3 +++
 linux-user/syscall_defs.h  | 3 +++
 linux-user/syscall_types.h | 5 +++++
 3 files changed, 11 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index ab4ef2e..e393ad6 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -114,6 +114,9 @@
 
      IOCTL(FDMSGON, 0, TYPE_NULL)
      IOCTL(FDMSGOFF, 0, TYPE_NULL)
+     IOCTL(FDFMTBEG, 0, TYPE_NULL)
+     IOCTL(FDFMTTRK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_format_descr)))
+     IOCTL(FDFMTEND, 0, TYPE_NULL)
      IOCTL(FDFLUSH, 0, TYPE_NULL)
      IOCTL(FDRESET, 0, TYPE_NULL)
      IOCTL(FDRAWCMD, 0, TYPE_NULL)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 4185391..1ca115d 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -887,6 +887,9 @@ struct target_pollfd {
 
 #define TARGET_FDMSGON        TARGET_IO(2, 0x45)
 #define TARGET_FDMSGOFF       TARGET_IO(2, 0x46)
+#define TARGET_FDFMTBEG       TARGET_IO(2, 0x47)
+#define TARGET_FDFMTTRK      TARGET_IOW(2, 0x48, struct target_format_descr)
+#define TARGET_FDFMTEND       TARGET_IO(2, 0x49)
 #define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
 #define TARGET_FDRESET        TARGET_IO(2, 0x54)
 #define TARGET_FDRAWCMD       TARGET_IO(2, 0x58)
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
index 4e36983..d82d1a5 100644
--- a/linux-user/syscall_types.h
+++ b/linux-user/syscall_types.h
@@ -261,6 +261,11 @@ STRUCT(blkpg_ioctl_arg,
        TYPE_INT, /* datalen */
        TYPE_PTRVOID) /* data */
 
+STRUCT(format_descr,
+       TYPE_INT,     /* device */
+       TYPE_INT,     /* head */
+       TYPE_INT)     /* track */
+
 #if defined(CONFIG_USBFS)
 /* usb device ioctls */
 STRUCT(usbdevfs_ctrltransfer,
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 05/15] linux-user: Add support for FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (3 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 04/15] linux-user: Add support for FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 06/15] linux-user: Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls Aleksandar Markovic
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls are commands
for controlling error reporting of a floppy drive.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h        |  2 ++
 linux-user/syscall_defs.h  | 19 +++++++++++++++++++
 linux-user/syscall_types.h |  7 +++++++
 3 files changed, 28 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index e393ad6..6551938 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -118,6 +118,8 @@
      IOCTL(FDFMTTRK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_format_descr)))
      IOCTL(FDFMTEND, 0, TYPE_NULL)
      IOCTL(FDFLUSH, 0, TYPE_NULL)
+     IOCTL(FDSETMAXERRS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors)))
+     IOCTL(FDGETMAXERRS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors)))
      IOCTL(FDRESET, 0, TYPE_NULL)
      IOCTL(FDRAWCMD, 0, TYPE_NULL)
      IOCTL(FDTWADDLE, 0, TYPE_NULL)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 1ca115d..36256b0 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -885,12 +885,31 @@ struct target_pollfd {
 
 /* From <linux/fd.h> */
 
+struct target_floppy_max_errors {
+    abi_uint        abort;
+    abi_uint        read_track;
+    abi_uint        reset;
+    abi_uint        recal;
+    abi_uint        reporting;
+};
+
+struct target_format_descr {
+    abi_uint        device;
+    abi_uint        head;
+    abi_uint        track;
+};
+
 #define TARGET_FDMSGON        TARGET_IO(2, 0x45)
 #define TARGET_FDMSGOFF       TARGET_IO(2, 0x46)
 #define TARGET_FDFMTBEG       TARGET_IO(2, 0x47)
 #define TARGET_FDFMTTRK      TARGET_IOW(2, 0x48, struct target_format_descr)
 #define TARGET_FDFMTEND       TARGET_IO(2, 0x49)
+#define TARGET_FDSETEMSGTRESH TARGET_IO(2, 0x4a)
 #define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
+#define TARGET_FDSETMAXERRS  TARGET_IOW(2, 0x4c,                               \
+                                        struct target_floppy_max_errors)
+#define TARGET_FDGETMAXERRS  TARGET_IOR(2, 0x0e,                               \
+                                        struct target_floppy_max_errors)
 #define TARGET_FDRESET        TARGET_IO(2, 0x54)
 #define TARGET_FDRAWCMD       TARGET_IO(2, 0x58)
 #define TARGET_FDTWADDLE      TARGET_IO(2, 0x59)
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
index d82d1a5..5ba7c34 100644
--- a/linux-user/syscall_types.h
+++ b/linux-user/syscall_types.h
@@ -261,6 +261,13 @@ STRUCT(blkpg_ioctl_arg,
        TYPE_INT, /* datalen */
        TYPE_PTRVOID) /* data */
 
+STRUCT(floppy_max_errors,
+       TYPE_INT,     /* abort */
+       TYPE_INT,     /* read_track */
+       TYPE_INT,     /* reset */
+       TYPE_INT,     /* recal */
+       TYPE_INT)     /* reporting */
+
 STRUCT(format_descr,
        TYPE_INT,     /* device */
        TYPE_INT,     /* head */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 06/15] linux-user: Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (4 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 05/15] linux-user: Add support for FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 07/15] linux-user: Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls Aleksandar Markovic
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 6551938..895ba35 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -434,6 +434,7 @@
   IOCTL(HDIO_GET_NOWERR, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_DMA, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT))
+  IOCTL(HDIO_GET_NICE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT)
   IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT)
@@ -442,6 +443,7 @@
   IOCTL(HDIO_SET_DMA, 0, TYPE_INT)
   IOCTL(HDIO_SET_32BIT, 0, TYPE_INT)
   IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT)
+  IOCTL(HDIO_SET_NICE, 0, TYPE_INT)
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
   IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 36256b0..4e219a1 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1064,6 +1064,7 @@ struct target_format_descr {
 #define TARGET_HDIO_GET_32BIT         0x0309  /* get current io_32bit setting */
 #define TARGET_HDIO_GET_NOWERR        0x030a  /* get ignore-write-error flag */
 #define TARGET_HDIO_GET_DMA           0x030b  /* get use-dma flag */
+#define TARGET_HDIO_GET_NICE          0x030c  /* get nice flags */
 #define TARGET_HDIO_GET_IDENTITY      0x030d  /* get IDE identification info */
 #define TARGET_HDIO_DRIVE_CMD         0x031f  /* execute a special drive command */
 
@@ -1075,6 +1076,7 @@ struct target_format_descr {
 #define TARGET_HDIO_SET_NOWERR        0x0325  /* change ignore-write-error flag */
 #define TARGET_HDIO_SET_DMA           0x0326  /* change use-dma flag */
 #define TARGET_HDIO_SET_PIO_MODE      0x0327  /* reconfig interface to new speed */
+#define TARGET_HDIO_SET_NICE          0x0329  /* set nice flags */
 
 /* loop ioctls */
 #define TARGET_LOOP_SET_FD            0x4C00
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 07/15] linux-user: Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (5 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 06/15] linux-user: Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 08/15] linux-user: Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC ioctls Aleksandar Markovic
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 895ba35..b54a184 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -435,6 +435,7 @@
   IOCTL(HDIO_GET_DMA, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_NICE, IOC_R, MK_PTR(TYPE_INT))
+  IOCTL(HDIO_GET_WCACHE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT)
   IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT)
@@ -444,6 +445,7 @@
   IOCTL(HDIO_SET_32BIT, 0, TYPE_INT)
   IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT)
   IOCTL(HDIO_SET_NICE, 0, TYPE_INT)
+  IOCTL(HDIO_SET_WCACHE, 0, TYPE_INT)
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
   IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 4e219a1..fb42d32 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1066,6 +1066,7 @@ struct target_format_descr {
 #define TARGET_HDIO_GET_DMA           0x030b  /* get use-dma flag */
 #define TARGET_HDIO_GET_NICE          0x030c  /* get nice flags */
 #define TARGET_HDIO_GET_IDENTITY      0x030d  /* get IDE identification info */
+#define TARGET_HDIO_GET_WCACHE        0x030e  /* get write cache mode on|off */
 #define TARGET_HDIO_DRIVE_CMD         0x031f  /* execute a special drive command */
 
 /* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
@@ -1077,6 +1078,7 @@ struct target_format_descr {
 #define TARGET_HDIO_SET_DMA           0x0326  /* change use-dma flag */
 #define TARGET_HDIO_SET_PIO_MODE      0x0327  /* reconfig interface to new speed */
 #define TARGET_HDIO_SET_NICE          0x0329  /* set nice flags */
+#define TARGET_HDIO_SET_WCACHE        0x032b  /* change write cache mode */
 
 /* loop ioctls */
 #define TARGET_LOOP_SET_FD            0x4C00
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 08/15] linux-user: Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (6 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 07/15] linux-user: Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 09/15] linux-user: Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS ioctls Aleksandar Markovic
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index b54a184..c9b82eb 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -436,6 +436,7 @@
   IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_NICE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_WCACHE, IOC_R, MK_PTR(TYPE_INT))
+  IOCTL(HDIO_GET_ACOUSTIC, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT)
   IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT)
@@ -446,6 +447,7 @@
   IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT)
   IOCTL(HDIO_SET_NICE, 0, TYPE_INT)
   IOCTL(HDIO_SET_WCACHE, 0, TYPE_INT)
+  IOCTL(HDIO_SET_ACOUSTIC, 0, TYPE_INT)
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
   IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index fb42d32..b9d1242 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1067,6 +1067,7 @@ struct target_format_descr {
 #define TARGET_HDIO_GET_NICE          0x030c  /* get nice flags */
 #define TARGET_HDIO_GET_IDENTITY      0x030d  /* get IDE identification info */
 #define TARGET_HDIO_GET_WCACHE        0x030e  /* get write cache mode on|off */
+#define TARGET_HDIO_GET_ACOUSTIC      0x030f  /* get acoustic value */
 #define TARGET_HDIO_DRIVE_CMD         0x031f  /* execute a special drive command */
 
 /* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
@@ -1079,6 +1080,7 @@ struct target_format_descr {
 #define TARGET_HDIO_SET_PIO_MODE      0x0327  /* reconfig interface to new speed */
 #define TARGET_HDIO_SET_NICE          0x0329  /* set nice flags */
 #define TARGET_HDIO_SET_WCACHE        0x032b  /* change write cache mode */
+#define TARGET_HDIO_SET_ACOUSTIC      0x032c  /* change acoustic behavior */
 
 /* loop ioctls */
 #define TARGET_LOOP_SET_FD            0x4C00
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 09/15] linux-user: Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (7 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 08/15] linux-user: Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 10/15] linux-user: Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE ioctls Aleksandar Markovic
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index c9b82eb..b9c6a5a 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -437,6 +437,7 @@
   IOCTL(HDIO_GET_NICE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_WCACHE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_ACOUSTIC, IOC_R, MK_PTR(TYPE_INT))
+  IOCTL(HDIO_GET_ADDRESS, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT)
   IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT)
@@ -448,6 +449,7 @@
   IOCTL(HDIO_SET_NICE, 0, TYPE_INT)
   IOCTL(HDIO_SET_WCACHE, 0, TYPE_INT)
   IOCTL(HDIO_SET_ACOUSTIC, 0, TYPE_INT)
+  IOCTL(HDIO_SET_ADDRESS, 0, TYPE_INT)
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
   IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index b9d1242..aa9c6af 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1068,6 +1068,7 @@ struct target_format_descr {
 #define TARGET_HDIO_GET_IDENTITY      0x030d  /* get IDE identification info */
 #define TARGET_HDIO_GET_WCACHE        0x030e  /* get write cache mode on|off */
 #define TARGET_HDIO_GET_ACOUSTIC      0x030f  /* get acoustic value */
+#define TARGET_HDIO_GET_ADDRESS       0x0310  /* get lba addressing modes */
 #define TARGET_HDIO_DRIVE_CMD         0x031f  /* execute a special drive command */
 
 /* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
@@ -1081,6 +1082,7 @@ struct target_format_descr {
 #define TARGET_HDIO_SET_NICE          0x0329  /* set nice flags */
 #define TARGET_HDIO_SET_WCACHE        0x032b  /* change write cache mode */
 #define TARGET_HDIO_SET_ACOUSTIC      0x032c  /* change acoustic behavior */
+#define TARGET_HDIO_SET_ADDRESS       0x032f  /* change lba addressing modes */
 
 /* loop ioctls */
 #define TARGET_LOOP_SET_FD            0x4C00
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 10/15] linux-user: Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (8 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 09/15] linux-user: Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 11/15] linux-user: Add support for KDGKBMETA and KDSKBMETA ioctls Aleksandar Markovic
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index b9c6a5a..3796ee6 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -438,6 +438,7 @@
   IOCTL(HDIO_GET_WCACHE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_ACOUSTIC, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_GET_ADDRESS, IOC_R, MK_PTR(TYPE_INT))
+  IOCTL(HDIO_GET_BUSSTATE, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT))
   IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT)
   IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT)
@@ -449,6 +450,7 @@
   IOCTL(HDIO_SET_NICE, 0, TYPE_INT)
   IOCTL(HDIO_SET_WCACHE, 0, TYPE_INT)
   IOCTL(HDIO_SET_ACOUSTIC, 0, TYPE_INT)
+  IOCTL(HDIO_SET_BUSSTATE, 0, TYPE_INT)
   IOCTL(HDIO_SET_ADDRESS, 0, TYPE_INT)
 
   IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index aa9c6af..766d7b9 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1069,6 +1069,7 @@ struct target_format_descr {
 #define TARGET_HDIO_GET_WCACHE        0x030e  /* get write cache mode on|off */
 #define TARGET_HDIO_GET_ACOUSTIC      0x030f  /* get acoustic value */
 #define TARGET_HDIO_GET_ADDRESS       0x0310  /* get lba addressing modes */
+#define TARGET_HDIO_GET_BUSSTATE      0x031a  /* get hwif bus state */
 #define TARGET_HDIO_DRIVE_CMD         0x031f  /* execute a special drive command */
 
 /* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
@@ -1082,6 +1083,7 @@ struct target_format_descr {
 #define TARGET_HDIO_SET_NICE          0x0329  /* set nice flags */
 #define TARGET_HDIO_SET_WCACHE        0x032b  /* change write cache mode */
 #define TARGET_HDIO_SET_ACOUSTIC      0x032c  /* change acoustic behavior */
+#define TARGET_HDIO_SET_BUSSTATE      0x032d  /* set hwif bus state */
 #define TARGET_HDIO_SET_ADDRESS       0x032f  /* change lba addressing modes */
 
 /* loop ioctls */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 11/15] linux-user: Add support for KDGKBMETA and KDSKBMETA ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (9 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 10/15] linux-user: Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 12/15] linux-user: Fix support for KDGKBLED and KDSKBLED ioctls Aleksandar Markovic
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Add support for KDGKBMETA and KDSKBMETA ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h       | 2 ++
 linux-user/syscall_defs.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 3796ee6..2100cf4 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -63,6 +63,8 @@
      IOCTL(KDSKBMODE, 0, TYPE_INT)
      IOCTL(KDGKBENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbentry)))
      IOCTL(KDGKBSENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbsentry)))
+     IOCTL(KDGKBMETA, IOC_R, MK_PTR(TYPE_INT))
+     IOCTL(KDSKBMETA, IOC_W, TYPE_INT)
      IOCTL(KDGKBLED, 0, TYPE_INT)
      IOCTL(KDSKBLED, 0, TYPE_INT)
      IOCTL(KDGETLED, 0, TYPE_INT)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 766d7b9..50fc44f 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -750,6 +750,8 @@ struct target_pollfd {
 #define TARGET_KDSKBMODE       0x4b45
 #define TARGET_KDGKBENT	       0x4B46	/* gets one entry in translation table */
 #define TARGET_KDGKBSENT       0x4B48	/* gets one function key string entry */
+#define TARGET_KDGKBMETA       0x4B62   /* gets meta key handling mode */
+#define TARGET_KDSKBMETA       0x4B63   /* sets meta key handling mode */
 #define TARGET_KDGKBLED        0x4B64	/* get led flags (not lights) */
 #define TARGET_KDSKBLED        0x4B65	/* set led flags (not lights) */
 #define TARGET_KDGETLED        0x4B31	/* return current led state */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 12/15] linux-user: Fix support for KDGKBLED and KDSKBLED ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (10 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 11/15] linux-user: Add support for KDGKBMETA and KDSKBMETA ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 13/15] linux-user: Fix support for KDGETLED and KDSETLED ioctls Aleksandar Markovic
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Fix support for KDGKBLED and KDSKBLED ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 2100cf4..ea92eea 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -65,8 +65,8 @@
      IOCTL(KDGKBSENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbsentry)))
      IOCTL(KDGKBMETA, IOC_R, MK_PTR(TYPE_INT))
      IOCTL(KDSKBMETA, IOC_W, TYPE_INT)
-     IOCTL(KDGKBLED, 0, TYPE_INT)
-     IOCTL(KDSKBLED, 0, TYPE_INT)
+     IOCTL(KDGKBLED, IOC_R, MK_PTR(TYPE_CHAR))
+     IOCTL(KDSKBLED, IOC_W, TYPE_INT)
      IOCTL(KDGETLED, 0, TYPE_INT)
      IOCTL(KDSETLED, 0, TYPE_INT)
      IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT)
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 13/15] linux-user: Fix support for KDGETLED and KDSETLED ioctls
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (11 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 12/15] linux-user: Fix support for KDGKBLED and KDSKBLED ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 14/15] linux-user: Add support for RNDRESEEDCRNG ioctl Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 15/15] linux-user: Add support for semtimedop() syscall Aleksandar Markovic
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Fix support for KDGETLED and KDSETLED ioctls.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/ioctls.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index ea92eea..7a4e85b 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -67,8 +67,8 @@
      IOCTL(KDSKBMETA, IOC_W, TYPE_INT)
      IOCTL(KDGKBLED, IOC_R, MK_PTR(TYPE_CHAR))
      IOCTL(KDSKBLED, IOC_W, TYPE_INT)
-     IOCTL(KDGETLED, 0, TYPE_INT)
-     IOCTL(KDSETLED, 0, TYPE_INT)
+     IOCTL(KDGETLED, IOC_R, MK_PTR(TYPE_CHAR))
+     IOCTL(KDSETLED, IOC_W, TYPE_INT)
      IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT)
 
      IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT))
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 14/15] linux-user: Add support for RNDRESEEDCRNG ioctl
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (12 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 13/15] linux-user: Fix support for KDGETLED and KDSETLED ioctls Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 15/15] linux-user: Add support for semtimedop() syscall Aleksandar Markovic
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

RNDRESEEDCRNG is a newer ioctl (added in kernel 4.17), and an
"ifdef" guard is used for that reason in this patch.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/ioctls.h       | 3 +++
 linux-user/syscall_defs.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 7a4e85b..240cb50 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -261,6 +261,9 @@
   IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT))
   IOCTL(RNDZAPENTCNT, 0, TYPE_NULL)
   IOCTL(RNDCLEARPOOL, 0, TYPE_NULL)
+#ifdef RNDRESEEDCRNG
+  IOCTL(RNDRESEEDCRNG, 0, TYPE_NULL)
+#endif
 
   IOCTL(CDROMPAUSE, 0, TYPE_NULL)
   IOCTL(CDROMSTART, 0, TYPE_NULL)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 50fc44f..1b42578 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -852,6 +852,7 @@ struct target_pollfd {
 #define TARGET_RNDADDTOENTCNT  TARGET_IOW('R', 0x01, int)
 #define TARGET_RNDZAPENTCNT    TARGET_IO('R', 0x04)
 #define TARGET_RNDCLEARPOOL    TARGET_IO('R', 0x06)
+#define TARGET_RNDRESEEDCRNG   TARGET_IO('R', 0x07)
 
 /* From <linux/fs.h> */
 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Qemu-devel] [PATCH for 4.2 v5 15/15] linux-user: Add support for semtimedop() syscall
  2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
                   ` (13 preceding siblings ...)
  2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 14/15] linux-user: Add support for RNDRESEEDCRNG ioctl Aleksandar Markovic
@ 2019-08-01 12:21 ` Aleksandar Markovic
  14 siblings, 0 replies; 16+ messages in thread
From: Aleksandar Markovic @ 2019-08-01 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: Aleksandar Rikalo, laurent, amarkovic

From: Aleksandar Rikalo <arikalo@wavecomp.com>

Add support for semtimedop() emulation. It is based on invocation
of safe_semtimedop().

Conversion is left out of safe_semtimedop(), since other safe_xxx()
usually don't contain similar conversions.

Signed-off-by: Aleksandar Rikalo <arikalo@wavecomp.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 linux-user/syscall.c | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ee80175..6825458 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6650,7 +6650,43 @@ static inline abi_long host_to_target_statx(struct target_statx *host_stx,
     return 0;
 }
 #endif
+#ifdef TARGET_NR_semtimedop
+static inline abi_long do_semtimedop(int semid, abi_long ptr, unsigned nsops,
+                                     abi_long timeout)
+{
+    struct sembuf *sops;
+    struct timespec ts, *pts;
+    abi_long ret;
+
+    if (timeout) {
+        pts = &ts;
+        if (target_to_host_timespec(pts, timeout)) {
+            return -TARGET_EFAULT;
+        }
+    } else {
+        pts = NULL;
+    }
 
+    sops = g_malloc(sizeof(struct sembuf) * nsops);
+    if (sops == NULL) {
+        return -TARGET_EFAULT;
+    }
+
+    if (target_to_host_sembuf(sops, ptr, nsops)) {
+        g_free(sops);
+        return -TARGET_EFAULT;
+    }
+
+#ifdef __NR_semtimedop
+    ret = get_errno(safe_semtimedop(semid, sops, nsops, pts));
+#else
+    ret = -TARGET_ENOSYS;
+#endif
+    g_free(sops);
+
+    return ret;
+}
+#endif
 
 /* ??? Using host futex calls even when target atomic operations
    are not really atomic probably breaks things.  However implementing
@@ -9194,6 +9230,10 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
     case TARGET_NR_semop:
         return do_semop(arg1, arg2, arg3);
 #endif
+#ifdef TARGET_NR_semtimedop
+    case TARGET_NR_semtimedop:
+        return do_semtimedop(arg1, arg2, arg3, arg4);
+#endif
 #ifdef TARGET_NR_semctl
     case TARGET_NR_semctl:
         return do_semctl(arg1, arg2, arg3, arg4);
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-08-01 12:32 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-01 12:21 [Qemu-devel] [PATCH for 4.2 v5 00/15] linux-user: Misc patches for 4.2 Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 01/15] linux user: Add support for FDFLUSH ioctl Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 02/15] linux-user: Add support for FDMSGON and FDMSGOFF ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 03/15] linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 04/15] linux-user: Add support for FDFMTBEG, FDFMTTRK, and FDFMTEND ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 05/15] linux-user: Add support for FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 06/15] linux-user: Add support for HDIO_GET_NICE and HDIO_SET_NICE ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 07/15] linux-user: Add support for HDIO_GET_WCACHE and HDIO_SET_WCACHE ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 08/15] linux-user: Add support for HDIO_GET_ACOUSTIC and HDIO_SET_ACOUSTIC ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 09/15] linux-user: Add support for HDIO_GET_ADDRESS and HDIO_SET_ADDRESS ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 10/15] linux-user: Add support for HDIO_GET_BUSSTATE and HDIO_SET_BUSSTATE ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 11/15] linux-user: Add support for KDGKBMETA and KDSKBMETA ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 12/15] linux-user: Fix support for KDGKBLED and KDSKBLED ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 13/15] linux-user: Fix support for KDGETLED and KDSETLED ioctls Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 14/15] linux-user: Add support for RNDRESEEDCRNG ioctl Aleksandar Markovic
2019-08-01 12:21 ` [Qemu-devel] [PATCH for 4.2 v5 15/15] linux-user: Add support for semtimedop() syscall Aleksandar Markovic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.