It seems Rumen Telbizov wrote:> any answers the first time.
>
> I have P4P800-VM motherboard with serial ata
> controlers (ICH5) and serial ata discs. I managed
> to install FreeBSD 4.9-STABLE on this box when
> setting the IDE controller in legacy mode.
> Everything works normal except when booting,
> the drives are set into UDMA33 mode:
>
> atapci0: <Intel ICH5 SATA150 controller> port
> 0xfc00-0xfc0f,0-0x3,0-0x7,0-0x3,0-
> 0x7 irq 0 at device 31.2 on pci0
> ata0: at 0x1f0 irq 14 on atapci0
> ata1: at 0x170 irq 15 on atapci0
>
> ad0: DMA limited to UDMA33, non-ATA66 cable or device
> ad0: 76319MB <ST380013AS> [155061/16/63] at ata0-master UDMA33
> ad1: DMA limited to UDMA33, non-ATA66 cable or device
> ad1: 76319MB <ST380013AS> [155061/16/63] at ata0-slave UDMA33
>
> I read somewhere that this message is a hoax and that
> the drive should actually work in UDMA150. Is this my case?
Yes, there are no "modes" on SATA (so far) its just SATA-150 in this
case and the drives (if true SATA drives not PATA with converters)
run SATA-150 over the inteface as soon as youselect any DMA mode.
> I also checked the source of ata-dma.c:
> Here is the section.
>
> #if 1
> if (udmamode > 2 && !atadev->param->hwres_cblid) {
> ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or
device\n");
> udmamode = 2;
> }
> #endif
>
>
> Maybe this should sound like:
> if ( (udmamode > 2) && (udmamode < 5) &&
(!atadev->param->hwres_cblid) ) {
> ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or
device\n");
> udmamode = 2;
> }
>
> All comments are wellcome.
That wont work..
The problem here is that -stable's ATA driver doesn't have the
infrastructure
to handle SATA properly, so what you have here is a crude hack to get some
controllers working, but you will have to live with the fallout above...
-S?ren