06.09.2019. 12.47, "Laurent Vivier" <laur...@vivier.eu> је написао/ла: > > Le 04/09/2019 à 14:59, Aleksandar Markovic a écrit : > > From: Aleksandar Markovic <amarko...@wavecomp.com> > > > > FDSETEMSGTRESH, FDSETMAXERRS, and FDGETMAXERRS ioctls are commands > > for controlling error reporting of a floppy drive. > > > > Signed-off-by: Aleksandar Markovic <amarko...@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 622874b..0c75d03 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))) > > where is FDSETEMSGTRESH? > > > 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 834a085..7c5b614 100644 > > --- a/linux-user/syscall_defs.h > > +++ b/linux-user/syscall_defs.h > > @@ -890,12 +890,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; > > +}; > > You don't need this, you can use floppy_max_errors from <linux/fd.h>. > > But you can define it if you want because it is used to know the size of > the target structure (and if alignment or data types differ it can > mismatch. With "int" it's not the case). >
Laurent, thanks for the review, I'll correct this in the next version. Just a follow-up question: If the structure of related to a (not-yet-supported in QEMU) ioctl was: struct hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; }; ... would "target_hd_geometry" be needed, or not? Regards, Aleksandar > > +struct target_format_descr { > > + abi_uint device; > > + abi_uint head; > > + abi_uint track; > > +}; > > + > > This one is for the previous patch. Same comment as above. > > Thanks, > Laurent >