Check 64bit DMA capability of Hardware (amd64/135040)

Ralf Folkerts ralf.folkerts at
Fri Dec 3 19:58:25 UTC 2010


a while ago I created PR amd64/135040 because of Problems caused by the 
SB600 on my MB not being 64bit capable (disk not being detected, disk 
corruption after buildworld/buildkernel). Since then I lived with "set 
hw.physmem=4gb" in my loader.conf.

The other day I found a BIOS-Update for my MB with the Note "Update PCIE 
Initial Code". I did install the new BIOS, installed 8.1 from USB-Stick 
to a "new" Harddisk, booted off that disk, csupped Sources, ran 
buildworld buildkernel installworld installkernel, rebooted, ran built 
and installed again, ...

The System did all this fine; disk was always being detected, no data 
corruption, fsck ran w/o problems.

However, I'd be more confident -before removing set "set hw.physmem" and 
run with "complete memory" off my "Production Disk"- if there was a way 
to check, if the SB600 is really doing it's DMA correctly now (or was 
the Driver changed to not do DMA on SB600?) - or if, by some 
coincidence, the error did not show up during my "tests" but still 
might/will occur.

Is there a way to definitely check if the Disk-DMA is really capable of 
64bit DMA?

Would be cool if there was a way to check this...

MTIA, Cheers,

#0: Fri Dec  3 19:14:06 CET 2010     
root at  amd64

atapci0 at pci0:0:18:0:    class=0x010601 card=0x43821849 chip=0x43801002 
     vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
     device     = 'IXP SB600 Serial ATA Controller'
     class      = mass storage
     subclass   = SATA

ad4: 152627MB <FUJITSU MHY2160BH 0000000B> at ata2-master UDMA100 SATA 
Trying to mount root from ufs:/dev/ad4s1a

atapci0: <ATI IXP600 SATA300 controller> port 
-0xa007,0x9000-0x9003,0x8000-0x800f mem 0xfe9ff800-0xfe9ffbff irq 22 at 
device 1
8.0 on pci0
atapci0: [ITHREAD]
atapci0: AHCI v1.10 controller with 4 3Gbps ports, PM supported
ata2: <ATA channel 0> on atapci0
ata2: port is not ready (timeout 0ms) tfd = 000001d0
ata2: software reset clear timeout
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: port is not ready (timeout 0ms) tfd = 00000180
ata3: software reset clear timeout
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: [ITHREAD]
ata5: <ATA channel 3> on atapci0
ata5: [ITHREAD]

More information about the freebsd-amd64 mailing list