aboutsummaryrefslogtreecommitdiff
path: root/hw/ide.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-05-29 11:04:25 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-05-29 11:04:25 +0000
commitf66723fab9eab2695a1b3cf15b55ffc2936b6418 (patch)
tree4c81afad3a633538169c6adcc93a5ca3437d5b44 /hw/ide.c
parent8cc43feffcbd0fbe37a4410836632c698f143241 (diff)
put ready it after write command (aka FreeBSD HD access fix) - access 16 mult sector count
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@868 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ide.c')
-rw-r--r--hw/ide.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/ide.c b/hw/ide.c
index 45974aeb38..8b5f63e6df 100644
--- a/hw/ide.c
+++ b/hw/ide.c
@@ -185,7 +185,7 @@
#define DISABLE_SEAGATE 0xFB
/* set to 1 set disable mult support */
-#define MAX_MULT_SECTORS 8
+#define MAX_MULT_SECTORS 16
/* ATAPI defines */
@@ -1142,7 +1142,7 @@ static void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
case WIN_WRITE:
case WIN_WRITE_ONCE:
s->error = 0;
- s->status = SEEK_STAT;
+ s->status = SEEK_STAT | READY_STAT;
s->req_nb_sectors = 1;
ide_transfer_start(s, s->io_buffer, 512, ide_sector_write);
break;
@@ -1156,7 +1156,7 @@ static void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
if (!s->mult_sectors)
goto abort_cmd;
s->error = 0;
- s->status = SEEK_STAT;
+ s->status = SEEK_STAT | READY_STAT;
s->req_nb_sectors = s->mult_sectors;
n = s->nsector;
if (n > s->req_nb_sectors)