From patchwork Sun Jan 15 07:51:46 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [v2,02/10] fdc: set busy bit when starting a command Date: Sat, 14 Jan 2012 21:51:46 -0000 From: =?utf-8?q?Herv=C3=A9_Poussineau?= X-Patchwork-Id: 136169 Message-Id: <1326613915-3282-3-git-send-email-hpoussin@reactos.org> To: qemu-devel@nongnu.org Cc: Kevin Wolf , =?UTF-8?q?Herv=C3=A9=20Poussineau?= This bit must be active while a command is currently executed. Signed-off-by: Hervé Poussineau --- hw/fdc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/fdc.c b/hw/fdc.c index c1898a6..1b9f303 100644 --- a/hw/fdc.c +++ b/hw/fdc.c @@ -1446,7 +1446,6 @@ static void fdctrl_handle_readid(FDCtrl *fdctrl, int direction) { FDrive *cur_drv = get_cur_drv(fdctrl); - /* XXX: should set main status register to busy */ cur_drv->head = (fdctrl->fifo[1] >> 2) & 1; qemu_mod_timer(fdctrl->result_timer, qemu_get_clock_ns(vm_clock) + (get_ticks_per_sec() / 50)); @@ -1734,6 +1733,7 @@ static void fdctrl_write_data(FDCtrl *fdctrl, uint32_t value) pos = command_to_handler[value & 0xff]; FLOPPY_DPRINTF("%s command\n", handlers[pos].name); fdctrl->data_len = handlers[pos].parameters + 1; + fdctrl->msr |= FD_MSR_CMDBUSY; } FLOPPY_DPRINTF("%s: %02x\n", __func__, value);