Blue Swirl a écrit : > But it's better to commit many small patches rather than one big > patch, because if there are problems, the culprit patch can be > identified and fixed. So could you still rework the patch set? Here is the version with multiple small patches. fdc_01_lookuptable.diff - Adds a command lookup table, as suggested by Fabrice at http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00143.html - This also moves initialization functions at the bottom of the file to prevent multiple forward declarations. fdc_02_seek_next_sector.diff - Extract seeking to next sector handling in a function. Add a sector seek in PIO read and write modes fdc_03_status_ab.diff - Fixes status A and status B registers. It removes one Sun4m mutation. Also removes the internal FD_CTRL_INTR flag. fdc_04_dmaen.diff - Handles correctly FD_MSR_NONDMA/FD_DOR_NONDMA flags, and uses them when possible. Fixes a problem with SPECIFY command. fdc_05_dor_reg.diff - Better handling of DOR register. DOR register drives external motors, but it not limited to existing drives. - Use FD_DOR_nRESET flag instead of internal FD_CTRL_RESET flag. - Support writing to DOR register even in reset mode (as said in specification) fdc_06_msr_reg.diff - Stores controller state in MSR register instead of internal state field. This simplifies the fdctrl_read_main_status() function, which may be called in some tight loops. fdc_07_cleanup.diff - Removes useless fields in fdrive_t structure. - Adds a message when bdrv_read/bdrv_write calls fail. - Rename int_status to status0. - Replace some constants by value names. fdc_08_tdr_reg.diff - Replaces bootsel field by the whole tdr register. It may be easier if we want to later add support for tapes. fdc_09_4_fds.diff - Supports up to 4 floppy drives if MAX_FD is set to 4. fdc_10_cur_drv.diff - Replaces access to cur_drv field by macros. Hervé