[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/27] fdc: fix seek command, which shouldn't check
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 09/27] fdc: fix seek command, which shouldn't check tracks |
Date: |
Wed, 29 Feb 2012 16:17:50 +0100 |
From: Hervé Poussineau <address@hidden>
The seek command just sends step pulses to the drive and doesn't care if
there is a medium inserted of if it is banging the head against the drive.
Signed-off-by: Hervé Poussineau <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
hw/fdc.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/hw/fdc.c b/hw/fdc.c
index cc03326..7879b70 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1622,13 +1622,16 @@ static void fdctrl_handle_seek(FDCtrl *fdctrl, int
direction)
SET_CUR_DRV(fdctrl, fdctrl->fifo[1] & FD_DOR_SELMASK);
cur_drv = get_cur_drv(fdctrl);
fdctrl_reset_fifo(fdctrl);
+ /* The seek command just sends step pulses to the drive and doesn't care if
+ * there is a medium inserted of if it's banging the head against the
drive.
+ */
if (fdctrl->fifo[2] > cur_drv->max_track) {
- fdctrl_raise_irq(fdctrl, FD_SR0_ABNTERM | FD_SR0_SEEK);
+ cur_drv->track = cur_drv->max_track;
} else {
cur_drv->track = fdctrl->fifo[2];
- /* Raise Interrupt */
- fdctrl_raise_irq(fdctrl, FD_SR0_SEEK);
}
+ /* Raise Interrupt */
+ fdctrl_raise_irq(fdctrl, FD_SR0_SEEK);
}
static void fdctrl_handle_perpendicular_mode(FDCtrl *fdctrl, int direction)
--
1.7.6.5
- [Qemu-devel] [PULL 00/27] Block patches, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 04/27] fdc: handle read-only floppies (abort early on write commands), Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 03/27] fdc: most control commands do not generate interrupts, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 08/27] fdc: check if media rate is correct before doing any transfer, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 09/27] fdc: fix seek command, which shouldn't check tracks,
Kevin Wolf <=
- [Qemu-devel] [PATCH 02/27] fdc: set busy bit when starting a command, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 12/27] qcow2: Fix build with DEBUG_EXT enabled, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 18/27] QMP: Add qmp command for blockdev-group-snapshot-sync, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 01/27] fdc: take side count into account, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 10/27] fdc: DIR (Digital Input Register) should return status of current drive..., Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 16/27] qcow2: Reject too large header extensions, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 14/27] block: drop aio_multiwrite in BlockDriver, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 11/27] ide: fail I/O to empty disk, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 22/27] qemu-iotests: Filter out DOS line endings, Kevin Wolf, 2012/02/29
- [Qemu-devel] [PATCH 13/27] block: remove unused fields in BlockDriverState, Kevin Wolf, 2012/02/29