Switching to IDE mode on the Asus P5SD2-VM activates a weird chipset known as the SiS 1183.
pciide1 at pci0 dev 5 function 0 vendor "SiS", unknown product 0x1183 rev 0x03: DMA (unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI pciide1: using apic 1 int 17 for native-PCI interrupt wd0 at pciide1 channel 0 drive 0: <Hitachi HDP725025GLA380> wd0: 16-sector PIO, LBA48, 238475MB, 488397168 sectors pciide1: channel 1 ignored (not responding; disabled or no drives?) The best thing I could find that resembles programming documentation is this: http://old.nabble.com/-PATCH--sata_sis%3A-support-for-SiS-966-chipset-td6095608.html It says that the 0x1183 (and the 0x1182, 0x1180) behave almost exactly as the SiS 180. There are some differences between the OpenBSD's sis 180 support and Linux. OpenBSD uses a generic sata_chip_map whereas Linux uses quirks for power management & port status. Using sata_chip_map() is enough to get UDMA 6 support and speed disk transfers without any hangup up to now. The SiS 1183 is weird in the sense that it shows as an IDE device when in fact, it's a SATA controller. I don't see any reason why this is necessary. dmesg: pciide1 at pci0 dev 5 function 0 "SiS 1183 SATA" rev 0x03: DMA pciide1: using apic 1 int 17 for native-PCI interrupt wd0 at pciide1 channel 0 drive 0: <Hitachi HDP725025GLA380> wd0: 16-sector PIO, LBA48, 238475MB, 488397168 sectors wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6 diff: Index: sys/dev/pci/pcidevs =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.1629 diff -u -p -r1.1629 pcidevs --- sys/dev/pci/pcidevs 2 Jan 2012 10:29:43 -0000 1.1629 +++ sys/dev/pci/pcidevs 3 Jan 2012 17:36:51 -0000 @@ -5129,6 +5129,7 @@ product SIS 964 0x0964 964 ISA product SIS 965 0x0965 965 ISA product SIS 966 0x0966 966 ISA product SIS 968 0x0968 968 ISA +product SIS 1183 0x1183 1183 SATA product SIS 1184 0x1184 1184 RAID product SIS 1185 0x1185 1185 AHCI product SIS 5300 0x5300 540 VGA Index: sys/dev/pci/pciide.c =================================================================== RCS file: /cvs/src/sys/dev/pci/pciide.c,v retrieving revision 1.335 diff -u -p -r1.335 pciide.c --- sys/dev/pci/pciide.c 12 Nov 2011 18:39:23 -0000 1.335 +++ sys/dev/pci/pciide.c 3 Jan 2012 17:37:20 -0000 @@ -749,6 +749,10 @@ const struct pciide_product_desc pciide_ { PCI_PRODUCT_SIS_182, /* SIS 182 SATA */ 0, sata_chip_map + }, + { PCI_PRODUCT_SIS_1183, /* SIS 1183 SATA */ + 0, + sata_chip_map } };