linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOCPOS values
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 <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
8423fa9010
commit
f443e3960d
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user