Rename VAR16_32 to VAR16VISIBLE.
[seabios.git] / src / ata.c
index 7a008ebef1fecfd5afaffe392f6f4e9e6edf5be2..98d114159fda800072da2b01e0f4ecb760157d51 100644 (file)
--- a/src/ata.c
+++ b/src/ata.c
@@ -23,7 +23,7 @@
 
 #define IDE_TIMEOUT 32000 //32 seconds max for IDE ops
 
-struct ata_channel_s ATA_channels[CONFIG_MAX_ATA_INTERFACES] VAR16_32;
+struct ata_channel_s ATA_channels[CONFIG_MAX_ATA_INTERFACES] VAR16VISIBLE;
 
 
 /****************************************************************
@@ -115,6 +115,9 @@ ata_reset(int driveid)
                 goto done;
             }
         }
+    } else {
+        // QEMU doesn't reset dh on reset, so set it explicitly.
+        outb(ATA_CB_DH_DEV0, iobase1 + ATA_CB_DH);
     }
 
     // On a user-reset request, wait for RDY if it is an ATA device.