diff options
author | Hervé Poussineau <hpoussin@reactos.org> | 2012-02-06 22:29:03 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2012-02-29 12:48:46 +0100 |
commit | 1457a75843740b0433edfc88666c793858f4423a (patch) | |
tree | 616ea8acdc2793afc978365889623a3e8cfe2a0a /hw/fdc.c | |
parent | 08388273a3c4e895bf7e10f356f66c2363cfe90b (diff) | |
download | qemu-1457a75843740b0433edfc88666c793858f4423a.tar.gz qemu-1457a75843740b0433edfc88666c793858f4423a.tar.bz2 qemu-1457a75843740b0433edfc88666c793858f4423a.zip |
fdc: set busy bit when starting a command
This bit must be active while a command is currently executed.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/fdc.c')
-rw-r--r-- | hw/fdc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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); |