ata devices on emulated amd64 on qemu
Jung-uk Kim
jkim at FreeBSD.org
Sat Jul 30 00:22:59 GMT 2005
Okay. I finally found a fix. It was actually quite simple. Newer
FreeBSD and Linux ATA drivers check whether the PCI ATA controller is
in legacy ATA mode (aka PATA mode). The test failed and it was
treated like a SATA controller. Of course, IRQ failed to map. ;-)
Try the attached patch. Tested with FreeBSD/amd64 6.0-BETA1 guest on
FreeBSD/amd64 host.
Cheers,
Jung-uk Kim
-------------- next part --------------
--- qemu-0.7.1/hw/ide.c.orig Sun Jul 24 14:52:08 2005
+++ qemu-0.7.1/hw/ide.c Fri Jul 29 20:03:51 2005
@@ -2330,6 +2330,7 @@
pci_conf[0x01] = 0x80;
pci_conf[0x02] = 0x10;
pci_conf[0x03] = 0x70;
+ pci_conf[0x09] = 0x80; // legacy ATA mode
pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE
pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
pci_conf[0x0e] = 0x00; // header_type
More information about the freebsd-emulation
mailing list