[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 10/10] linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOC
From: |
riku . voipio |
Subject: |
[Qemu-devel] [PULL 10/10] linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOCPOS values |
Date: |
Wed, 18 Oct 2017 15:33:24 +0300 |
From: Peter Maydell <address@hidden>
The TARGET_MTIOCTOP/TARGET_MTIOCGET/TARGET_MTIOCPOS values
were being defined in terms of host struct types, but
these structures are such that their size might differ
on different hosts. Switch to using a target struct
definition instead.
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
---
linux-user/syscall_defs.h | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 447915cf80..e405d1d31d 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2712,9 +2712,34 @@ struct target_f_owner_ex {
#define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1)
#define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2)
-#define TARGET_MTIOCTOP TARGET_IOW('m', 1, struct mtop)
-#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
-#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
+struct target_mtop {
+ abi_short mt_op;
+ abi_int mt_count;
+};
+
+#if defined(TARGET_SPARC) || defined(TARGET_MIPS)
+typedef abi_long target_kernel_daddr_t;
+#else
+typedef abi_int target_kernel_daddr_t;
+#endif
+
+struct target_mtget {
+ abi_long mt_type;
+ abi_long mt_resid;
+ abi_long mt_dsreg;
+ abi_long mt_gstat;
+ abi_long mt_erreg;
+ target_kernel_daddr_t mt_fileno;
+ target_kernel_daddr_t mt_blkno;
+};
+
+struct target_mtpos {
+ abi_long mt_blkno;
+};
+
+#define TARGET_MTIOCTOP TARGET_IOW('m', 1, struct target_mtop)
+#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct target_mtget)
+#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct target_mtpos)
struct target_sysinfo {
abi_long uptime; /* Seconds since boot */
--
2.14.2
- [Qemu-devel] [PULL 00/10] linux-user update for 2.11, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 03/10] linux-user: remove duplicate break in syscall, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 05/10] tcg: Fix off-by-one in assert in page_set_flags, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 01/10] linux-user: fix O_TMPFILE handling, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 02/10] target/m68k, linux-user: manage FP registers in ucontext, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 04/10] linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 07/10] linux-user/sh4: Reduce TARGET_VIRT_ADDR_SPACE_BITS to 31, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 06/10] linux-user: Tidy and enforce reserved_va initialization, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 10/10] linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOCPOS values,
riku . voipio <=
- [Qemu-devel] [PULL 09/10] linux-user/main: support dfilter, riku . voipio, 2017/10/18
- [Qemu-devel] [PULL 08/10] linux-user: Fix target FS_IOC_GETFLAGS and FS_IOC_SETFLAGS numbers, riku . voipio, 2017/10/18
- Re: [Qemu-devel] [PULL 00/10] linux-user update for 2.11, Peter Maydell, 2017/10/19
- Re: [Qemu-devel] [PULL 00/10] linux-user update for 2.11, no-reply, 2017/10/22