Revision 1.36 of sys/pci/ide_pci.c causes DMA problems and a panic on
my laptop:

[...]
Considering FFS root f/s.
changing root device to wd0s1a
Card inserted, slot 0
wd0s1: type 0xa5, start 63, end = 12398399, size 12398337 : OK
wd0s4: type 0xa0, start 12398400, end = 12670559, size 272160 : OK
wd0: DMA failure, DMA status 5<active>
wd0: DMA failure, DMA status 5<active>
start_init: trying /sbin/init
wd0: DMA failure, DMA status 5<active>
wd0: DMA failure, DMA status 5<active>
wd0: DMA failure, DMA status 5<active>
wd0: DMA failure, DMA status 5<active>
wd0: DMA failure, DMA status 5<active>
spec_getpages: preposterous offset 0xffffff1c19d3fc00
vm_fault: pager read error, pid 1 (\M^P\M^A\M-b)
wd0: DMA failure, DMA status 5<active>

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x768d2d
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0x768d2d
stack pointer           = 0x10:0xc63ddd04
frame pointer           = 0x10:0xeb000000
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 1 (\M^P\M^A\M-b)
interrupt mask          = net tty bio cam 


Unfortunately, I don't have a serial console attached and the dmesg
buffer is cut off after any ide_pci messages on the bad boot.  I'll be
able to get that information tomorrow if the cause of this problem
isn't clear without it.  I do have the full messages from a successful
boot (the only change was backing ide_pci.c to 1.35):

Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Thu Jul 22 00:22:46 EDT 1999
    [EMAIL PROTECTED]:/usr/local/usr-src/sys/compile/HABANERO
Calibrating clock(s) ... TSC clock: 298385463 Hz, i8254 clock: 1193041 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Pentium/P55C (quarter-micron) (298.42-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x582  Stepping = 2
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 67043328 (65472K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x00314000 - 0x03febfff, 63799296 bytes (15576 pages)
sio0: gdb debugging port
avail memory = 61865984 (60416K bytes)
Found BIOS32 Service Directory header at 0xc00f6d60
Entry = 0xfd7f0 (0xc00fd7f0)  Rev = 0  Len = 1
PCI BIOS entry at 0x214
Other BIOS signatures found:
ACPI: 00000000
$PnP: 000f6d90
Preloaded elf kernel "kernel" at 0xc02fb000.
Intel Pentium detected, installing workaround for F00F bug
Math emulator present
Initializing PnP override table
Probing for PnP devices:
Trying Read_Port at 203
Trying Read_Port at 243
Trying Read_Port at 283
Trying Read_Port at 2c3
Trying Read_Port at 303
Trying Read_Port at 343
Trying Read_Port at 383
Trying Read_Port at 3c3
No Plug-n-Play devices were found
pci_open(1):    mode 1 addr port (0x0cf8) is 0x80000058
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=00] is there (id=71008086)
npx0: <math processor> on motherboard
npx0: INT 16 interface
i586_bzero() bandwidth = 174155346 bytes/sec
bzero() bandwidth = 719942404 bytes/sec
apm0: <APM BIOS> on motherboard
apm: found APM BIOS version 1.2
pci_open(1):    mode 1 addr port (0x0cf8) is 0x80003b54
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=00] is there (id=71008086)
pcib0: <Host to PCI bridge> on motherboard
found-> vendor=0x8086, dev=0x7100, revid=0x01
        class=06-00-00, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
found-> vendor=0x8086, dev=0x7110, revid=0x02
        class=06-80-00, hdrtype=0x00, mfdev=1
        subordinatebus=0        secondarybus=0
found-> vendor=0x8086, dev=0x7111, revid=0x01
        class=01-01-80, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
        map[0]: type 4, range 32, base 0000fcd0, size  4
found-> vendor=0x8086, dev=0x7112, revid=0x01
        class=0c-03-00, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
        intpin=d, irq=9
        map[0]: type 4, range 32, base 0000fce0, size  5
found-> vendor=0x8086, dev=0x7113, revid=0x02
        class=06-80-00, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
found-> vendor=0x10c8, dev=0x0004, revid=0x01
        class=03-00-00, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
        intpin=a, irq=9
        map[0]: type 3, range 32, base fd000000, size 24
        map[1]: type 1, range 32, base fea00000, size 21
        map[2]: type 1, range 32, base fed00000, size 20
found-> vendor=0x104d, dev=0x8009, revid=0x01
        class=0c-00-00, hdrtype=0x00, mfdev=0
        subordinatebus=0        secondarybus=0
        intpin=a, irq=9
        map[0]: type 1, range 32, base fecffc00, size  9
found-> vendor=0x1180, dev=0x0475, revid=0x00
        class=06-07-00, hdrtype=0x02, mfdev=0
        subordinatebus=0        secondarybus=0
        intpin=a, irq=255
pci0: <PCI bus> on pcib0
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
ide_pci0: <Intel PIIX4 Bus-master IDE controller> at device 7.1 on pci0
intel_piix_status: primary master/slave sample = 3, master/slave recovery = 1
intel_piix_status: primary master fastDMAonly disabled, pre/post enabled,
intel_piix_status:  IORDY sampling enabled,
intel_piix_status:  fast PIO enabled
intel_piix_status: primary master/slave sample = 3, master/slave recovery = 1
intel_piix_status: primary slave fastDMAonly disabled, pre/post disabled,
intel_piix_status:  IORDY sampling disabled,
intel_piix_status:  fast PIO disabled
ide_pci: busmaster 0 status: 24 from port: 0000fcd2
ide_pci: ide0:0 has been configured for DMA by BIOS
intel_piix_status: secondary master/slave sample = 5, master/slave recovery = 4
intel_piix_status: secondary master fastDMAonly disabled, pre/post disabled,
intel_piix_status:  IORDY sampling disabled,
intel_piix_status:  fast PIO disabled
intel_piix_status: secondary master/slave sample = 5, master/slave recovery = 4
intel_piix_status: secondary slave fastDMAonly disabled, pre/post disabled,
intel_piix_status:  IORDY sampling disabled,
intel_piix_status:  fast PIO disabled
ide_pci: busmaster 1 status: 04 from port: 0000fcda
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> irq 9 at device 7.2 on pci0
uhci0: USB version 1.0, chip rev. 1
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
intpm0: <Intel 82371AB Power management controller> at device 7.3 on pci0
intpm0: I/O mapped 2180
intpm0: intr IRQ 9 enabled revision 0
        using shared irq9.
intsmb0: <Intel PIIX4 SMBUS Interface>
smbus0: <System Management Bus> on intsmb0
smb0: <SMBus general purpose I/O> on smbus0
intpm0: PM I/O mapped 8000 
vga-pci0: <NeoMagic NM2160 laptop SVGA controller> irq 9 at device 8.0 on pci0
pcic0: <Ricoh RL5C475 PCI-CardBus Brige> at device 10.0 on pci0
PCI Config space:
00:  04751180 02100007 06070000 00020000
10:  00000000 020000dc 00000000 00000000
20:  00000000 00000000 00000000 00000000
30:  00000000 00000000 00000000 008001ff
40:  8030104d 000003e1 00000000 00000000
50:  00000000 00000000 00000000 00000000
60:  00000000 00000000 00000000 00000000
70:  00000000 00000000 00000000 00000000
80:  00000000 00000000 04630463 00000000
90:  00000000 00000000 00000000 00000000
Cardbus Socket registers:
00:  f000ff53: f000ff53: f000e2c3: f000ff53:
10:  f000ff53: f000ff54: f000ac16: f000ff53:
ExCa registers:
00: fb 77 c5 86 c4 c0 c8 02 08 e8 40 91 88 fe 28 e0
10: 8a 66 03 38 e0 72 02 88 e0 bf 05 00 c4 5e 04 50
20: b4 02 cd 13 5b 73 0a 4f 74 1c 30 e4 cd 13 93 eb
30: eb 0f b6 c3 01 46 08 73 03 ff 46 0a d0 e3 00 5e
isa0: <ISA bus> on motherboard
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> at fdc0 drive 0
wdc0 at port 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa0
wdc0: unit 0 (wd0): <TOSHIBA MK6412MAT>, DMA, 32-bit, multi-block-16
wd0: 6194MB (12685680 sectors), 13424 cyls, 15 heads, 63 S/T, 512 B/S
wd0: ATA INQUIRE valid = 0007, dmamword = 0007, apio = 0003, udma = 0407
wdc1: not probed (disabled)
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0047
atkbd: keyboard ID 0x41ab (2)
kbdc: RESET_KBD return code:00fa
kbdc: RESET_KBD status:00aa
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
psm0: current command byte:0047
kbdc: TEST_AUX_PORT status:0000
kbdc: RESET_AUX return code:00fa
kbdc: RESET_AUX status:00aa
kbdc: RESET_AUX ID:0000
psm: status 00 02 64
psm: status 00 00 64
psm: status 00 03 64
psm: status 00 03 64
psm: status 10 00 64
psm: data 08 00 00
psm: data 08 00 00
psm: status 00 02 64
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons
psm0: config:00000000, flags:00000000, packet size:3
psm0: syncmask:c0, syncbits:00
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x7007f
fb0: port:0x3b0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000
fb0: init mode:24, bios mode:3, current mode:24
fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k
VGA parameters upon power-up
50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 05 f0 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
VGA parameters in BIOS for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
EGA/VGA parameters to be used for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sc0: fb0 kbd0
sio0: irq maps: 0x449 0x459 0x449 0x449
sio0 at port 0x3f8-0x3ff irq 4 flags 0x90 on isa0
sio0: type 16550A
sio1: irq maps: 0x441 0x449 0x441 0x441
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio2: irq maps: 0x41 0x441 0x41 0x41
sio2 at port 0x3e8-0x3ef irq 10 on isa0
sio2: type 16550A
ppc: parallel port found at 0x378
ppc: chipset forced to generic
ppc0: ECP SPP ECP+EPP SPP
ppc0 at port 0x378-0x37f irq 7 flags 0x40 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip: irq 7
plip0: <PLIP network interface> on ppbus 0
bpf: lp0 attached
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
mss_probe: no address supplied, try default 0x530
mss_detect error, busy still set (0xff)
sb_probe: no address supplied, try defaults (0x220,0x240)
pcm0 at port 0x220 irq 5 drq 1 on isa0
ESS1868 (rev 11)
        device combination doesn't support shared irq3
        intr_connect(irq3) failed, result=-1
        device combination doesn't support shared irq4
        intr_connect(irq4) failed, result=-1
        device combination doesn't support shared irq5
        intr_connect(irq5) failed, result=-1
        device combination doesn't support shared irq7
        intr_connect(irq7) failed, result=-1
        device combination doesn't support shared irq9
        intr_connect(irq9) failed, result=-1
        device combination doesn't support shared irq10
        intr_connect(irq10) failed, result=-1
        device combination doesn't support shared irq12
        intr_connect(irq12) failed, result=-1
        device combination doesn't support shared irq14
        intr_connect(irq14) failed, result=-1
PC-Card Intel 82365 (5 mem & 2 I/O windows)
pcic: controller irq 11
Initializing PC-card drivers: ep
BIOS Geometries:
 0:0345ef3f 0..837=838 cylinders, 0..239=240 heads, 1..63=63 sectors
 0 accounted for
Device configuration finished.
Considering MFS root f/s.
No MFS image available as root f/s.
IP packet filtering initialized, divert disabled, rule-based forwarding enabled, 
logging limited to 100 packets/entry
DUMMYNET initialized (990504)
bpf: tun0 attached
bpf: sl0 attached
bpf: ppp0 attached
new masks: bio 40084240, tty 4003149a, net 4007149a
bpf: lo0 attached
Considering FFS root f/s.
changing root device to wd0s1a
Card inserted, slot 0
wd0s1: type 0xa5, start 63, end = 12398399, size 12398337 : OK
wd0s4: type 0xa0, start 12398400, end = 12670559, size 272160 : OK
start_init: trying /sbin/init


And here's the config file:

machine         i386
cpu             I586_CPU
ident           HABANERO
maxusers        64

makeoptions     DEBUG=-g                #Build kernel with gdb(1) debug symbols

options         MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         MFS                     #Memory Filesystem
options         MFS_ROOT                #MFS usable as root device, "MFS" req'ed
options         NFS                     #Network Filesystem
options         NFS_ROOT                #NFS usable as root device, "NFS" req'ed
options         MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
options         CD9660_ROOT             #CD-ROM usable as root. "CD9660" req'ed
options         PROCFS                  #Process filesystem
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
options         SCSI_DELAY=15000        #Be pessimistic about Joe SCSI device
options         UCONSOLE                #Allow users to grab the console
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor

controller      isa0
controller      pnp0                    # PnP support for ISA
controller      pci0
#controller     pccard0

controller      fdc0    at isa? port IO_FD1 irq 6 drq 2
disk            fd0     at fdc0 drive 0

#controller     ata0
#device         atadisk0        # ATA disk drives
#device         atapicd0        # ATAPI CDROM drives
#device         atapist0        # ATAPI tape drives

controller      wdc0    at isa? port IO_WD1 irq 14 flags 0xa0ffa0ff
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1
controller      wdc1    at isa? disable port IO_WD2 irq 15
disk            wd2     at wdc1 drive 0
disk            wd3     at wdc1 drive 1

# atkbdc0 controls both the keyboard and the PS/2 mouse
controller      atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1
device          psm0    at atkbdc? irq 12

# Options for psm:
#options                PSM_HOOKAPM
#options                PSM_RESETAFTERSUSPEND

device          vga0    at isa? port ? conflicts

# splash screen/screen saver
pseudo-device   splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa?

device          npx0    at nexus? port IO_NPX irq 13

device          apm0    at nexus? flags 0x20 # Advanced Power Management

device          sio0    at isa? port IO_COM1 flags 0x90 irq 4
device          sio1    at isa? port IO_COM2 irq 3
device          sio2    at isa? port 0x3e8 irq 10

# Parallel port
device          ppc0    at isa? port? flags 0x40 irq 7
controller      ppbus0
device          lpt0    at ppbus?
device          plip0   at ppbus?
device          ppi0    at ppbus?

device ep0 at isa? port 0x300 irq 10

# SMB Bus
controller smbus0
controller intpm0
controller alpm0

device smb0     at smbus?

# PCCARD
controller      card0
device          pcic0 at card?
#device         pcic0

options         PCIC_RESUME_RESET

# Sound
device pcm0 at isa? port ? irq 5 drq 1 flags 0x0
#controller     snd0
#device sb0      at isa? port 0x220 irq 5 drq 1
#device sbxvi0   at isa? drq 5
#device sbmidi0  at isa? port 0x330
#device awe0     at isa? port 0x620

# USB
controller      uhci0
controller      ohci0
controller      usb0

#controller     umass0
device          ums0
device          ukbd0
device          ulpt0
device          uhid0
device          ugen0

pseudo-device   loop
pseudo-device   ether
pseudo-device   sl      1
pseudo-device   ppp     1
pseudo-device   tun     1
pseudo-device   pty     32
pseudo-device   gzip            # Exec gzipped a.out's
pseudo-device   snp     3

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options         KTRACE          #kernel tracing

# This provides support for System V shared memory and message queues.
#
options         SYSVSHM
options         SYSVMSG
options         SYSVSEM

#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
pseudo-device   bpf      4      #Berkeley packet filter

#options                NETATALK

options         MSGBUF_SIZE=16384

options         DDB
#options                DDB_UNATTENDED
options         BREAK_TO_DEBUGGER

options         SOFTUPDATES

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_FORWARD
options         IPFIREWALL_VERBOSE_LIMIT=100

options         ICMP_BANDLIM
options         DUMMYNET

options         USER_LDT
#options                VM86
#options                VESA

options         P1003_1B
options         _KPOSIX_PRIORITY_SCHEDULING
options         _KPOSIX_VERSION=199309L


I really don't know crap about what's going on in that part of the
kernel, but I'll do whatever I can to help track this down.  Or
perhaps it will be intuitively obvious from this report.
-- 
Christopher Masto         Senior Network Monkey      NetMonger Communications
[EMAIL PROTECTED]        [EMAIL PROTECTED]        http://www.netmonger.net

Free yourself, free your machine, free the daemon -- http://www.freebsd.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to