Hi,
I have a few machines with the following ata controller:
atapci0@pci0:15:1: class=0x01018a card=0x00000000 chip=0x02111166 rev=0x00 hdr=0x00
vendor = 'Reliance Computer Corp./ServerWorks'
device = 'OSB4 PCI EIDE Controller'
class = mass storage
subclass = ATA
They're dual-boot FreeeBSD/linux boxes. After loosing 2 filesystems in
linux, I did a web search and I found that linux has a problem with
data corruption when using these controllers & disabled IDE DMA in linux.
Thinking that FreeBSD was immune (these boxes spend 90% of their time
in FreeBSD doing driver development & crashing frequently, haven't
lost a fs yet), I continued to run the disk at UDMA33 in FreeBSD.
However, I began to notice very minor data corruption when I attempted
to buildworld them from 4.4-RELEASE to 4.5-STABLE. By minor, I mean
syntax errors in files caused by 4 characters moved a few lines up or
down in a file, things like that. I concluded that FreeBSD might not
be immune after all and switched to PIO. After checking out a new src
tree, the problem seems to be gone and I'm able to buildworld.
Do you think it would be wise to disable DMA by default on these
chips?
Cheers,
Drew
PS: Here's a dmesg
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 4.5-STABLE #2: Wed Feb 20 09:33:56 EST 2002
gallatin@ugly:/usr/src/sys/compile/SMP
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (999.53-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x68a Stepping = 10
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 536805376 (524224K bytes)
avail memory = 517681152 (505548K bytes)
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
Programming 16 pins in IOAPIC #1
FreeBSD/SMP: Multiprocessor motherboard
cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000
cpu1 (AP): apic id: 1, version: 0x00040011, at 0xfee00000
io0 (APIC): apic id: 4, version: 0x000f0011, at 0xfec00000
io1 (APIC): apic id: 5, version: 0x000f0011, at 0xfec01000
Preloaded elf kernel "kernel" at 0xc0488000.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 9 entries at 0xc00f5250
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
IOAPIC #1 intpin 15 -> irq 2
IOAPIC #0 intpin 10 -> irq 5
pci0: <PCI bus> on pcib0
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xd800-0xd83f mem
0xfc800000-0xfc8fffff,0xfc9fe000-0xfc9fefff irq 2 at device 6.0 on pci0
fxp0: Ethernet address 00:30:48:21:e4:47
inphy0: <i82555 10/100 media interface> on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isab0: <ServerWorks IB6566 PCI to ISA bridge> at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 ATA33 controller> port 0xffa0-0xffaf at device 15.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfc9ff000-0xfc9fffff irq 5 at device 15.2
on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (unknown) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pcib1: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
IOAPIC #1 intpin 8 -> irq 9
IOAPIC #1 intpin 10 -> irq 10
pci1: <PCI bus> on pcib1
pci1: <ATI Mach64-GO graphics accelerator> at 1.0 irq 9
pci1: <unknown card> (vendor=0x14c1, dev=0x8043) at 2.0 irq 10
orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: Broken MP table detected: 8254 is not connected to IOAPIC #0 intpin 2
APIC_IO: routing 8254 via 8259 and IOAPIC #0 intpin 0
SMP: AP CPU #1 Launched!
ad0: 19092MB <ST320414A> [38792/16/63] at ata0-master PIO4
acd0: CDROM <CDU5211> at ata1-master using PIO4
Mounting root from ufs:/dev/ad0s2a
gm0: <Myrinet PCI interface> mem 0xfb000000-0xfbffffff irq 10 at device 2.0 on pci1
GM: driver version 1.5pre1_for_Tru64 gallatin Tue Feb 19 07:10:49 PST 2002
WARNING:
Unit 0 is 64-bit-DMA-addr-capable, but GM_SIZEOF_DP_T = 4
MCP for unit 0: L9 4K (new features)
LANai rate set to 199 MHz (max = 202 MHz)
Board 0 page hash cache has 65536 bins.
GM: gm_register_memory will be able to lock 83994 pages (328 MBytes)
GM: IP interface attach ok
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message