cmd646: correctly enable IDE channels
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 8 Jan 2009 16:01:33 +0000 (16:01 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 8 Jan 2009 16:01:33 +0000 (16:01 +0000)
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6232 c046a42c-6fe2-441c-8c8c-71466251a162

hw/ide.c

index 915390a..64e7d75 100644 (file)
--- a/hw/ide.c
+++ b/hw/ide.c
@@ -3185,9 +3185,10 @@ void pci_cmd646_ide_init(PCIBus *bus, BlockDriverState **hd_table,
     pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
     pci_conf[0x0e] = 0x00; // header_type
 
+    pci_conf[0x51] = 0x04; // enable IDE0
     if (secondary_ide_enabled) {
         /* XXX: if not enabled, really disable the seconday IDE controller */
-        pci_conf[0x51] = 0x80; /* enable IDE1 */
+        pci_conf[0x51] |= 0x08; /* enable IDE1 */
     }
 
     pci_register_io_region((PCIDevice *)d, 0, 0x8,