I got some relative success by disabling DMA in piixide on NetBSD 10.0:
it boots but gets interrupt storms.
piixide(4) says flags 0x0002 disables DMA, but it seems that
does not happens in piixide sources. I see no usage of
PCIIDE_OPTIONS_NODMA. To disable DMA, I added in piixsata_chip_map
this:
+ if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801H_SATA_1 ||
+ sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801H_SATA_2) {
+ aprint_verbose_dev(sc->sc_wdcdev.sc_atac.atac_dev,
+ "DMA disabled (PCI PID 0x%x)\n", sc->sc_pp->ide_product);
+ sc->sc_dma_ok = 0;
+ }
+
--
Emmanuel Dreyfus
[email protected]