projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0838827
)
fdc: set busy bit when starting a command
author
Hervé Poussineau
<hpoussin@reactos.org>
Mon, 6 Feb 2012 21:29:03 +0000
(22:29 +0100)
committer
Kevin Wolf
<kwolf@redhat.com>
Wed, 29 Feb 2012 11:48:46 +0000
(12:48 +0100)
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>
hw/fdc.c
patch
|
blob
|
history
diff --git
a/hw/fdc.c
b/hw/fdc.c
index 64e635a849a65e2a35e88d73a4bf0490ba57f537..05edc3aa3c6db1732e04a2f31dd53459e173494f 100644
(file)
--- 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);