From nobody@FreeBSD.org  Sun Jul 18 00:38:01 2004
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 9098B16A4CE
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Jul 2004 00:38:01 +0000 (GMT)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 84CB743D3F
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Jul 2004 00:38:01 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.12.11/8.12.11) with ESMTP id i6I0c1na083494
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 18 Jul 2004 00:38:01 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.12.11/8.12.11/Submit) id i6I0c1Gl083493;
	Sun, 18 Jul 2004 00:38:01 GMT
	(envelope-from nobody)
Message-Id: <200407180038.i6I0c1Gl083493@www.freebsd.org>
Date: Sun, 18 Jul 2004 00:38:01 GMT
From: Brandon Fosdick <bfoz@terrandev.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Boot failure: 4.10-BETA and later do not boot on Asus A7N8X motherboards
X-Send-Pr-Version: www-2.3

>Number:         69218
>Category:       kern
>Synopsis:       [firewire] [patch] failure: 4.10-BETA and later do not boot on Asus A7N8X motherboards
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-firewire
>State:          suspended
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 18 00:40:24 GMT 2004
>Closed-Date:    
>Last-Modified:  Wed Jul 03 01:38:04 UTC 2013
>Originator:     Brandon Fosdick
>Release:        4.10
>Organization:
>Environment:
Anything with an Asus A7N8X motherboard

>Description:
Installation of 4.10-BETA or later (including 5.X) from CD on any machine with an Asus A7N8X motherboard completes successfully. However, any subsequent boot hangs on the last IDE drive, regardless of the type or ordering of drives. Removing all IDE drives except the hard drive causes boot to hang on the hard drive. 

This behavior is observed with a GENERIC kernel as well as a custom kernel and for all available BIOS revisions. Doing a fresh install from CD or cvsup'ing from RELENG_4_9 doesn't change anything. Discs 1 and 2 of the 4.10-R set boot normally.

Last working version is RELENG_4_9 (last checked on 17 July, 2004).

NOTE: 5.X installation CD will only boot on this board with ACPI disabled.

Below are serial console dumps of verbose boots provided by Lee Harr <missive@hotmail.com>.


Failed boot:
--------------------------
/kernel text=0x227aa5 data=0x42f18+0x21e7c syms=[0x4+0x37da0+0x4+0x3f435]
/modules/linux.ko text=0x12314 data=0xfc8+0x4 syms=[0x4+0x2830+0x4+0x2177]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... Booting [kernel] in 8 seconds... Booting [kernel] in 7
seconds... Booting [kernel] in 6 seconds...

Type '?' for a list of commands, 'help' for more detailed help.
ok boot -sv
SMAP type=01 base=0000000000000000 len=000000000009fc00
SMAP type=02 base=00000000000f0000 len=0000000000010000
SMAP type=02 base=00000000fec00000 len=0000000000001000
SMAP type=02 base=00000000fee00000 len=0000000000001000
SMAP type=02 base=00000000ffff0000 len=0000000000010000
SMAP type=02 base=000000000009fc00 len=0000000000000400
SMAP type=01 base=0000000000100000 len=000000001fef0000
SMAP type=03 base=000000001fff3000 len=000000000000d000
SMAP type=04 base=000000001fff0000 len=0000000000003000
Copyright (c) 1992-2004 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.10-PRERELEASE #4: Thu May 13 19:30:08 EDT 2004
   root@homer:/mnt/obj/mnt/src/sys/HOMER
Calibrating clock(s) ... TSC clock: 1664119808 Hz, i8254 clock: 1193162 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
Timecounter "TSC"  frequency 1664158332 Hz
CPU: AMD Athlon(tm) XP 2000+ (1664.16-MHz 686-class CPU)
 Origin = "AuthenticAMD"  Id = 0x680  Stepping = 0
 
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,P
SE36,MMX,FXSR,SSE>
 AMD Features=0xc0400000<AMIE,DSP,3DNow!>
Data TLB: 32 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
real memory  = 536805376 (524224K bytes)
Physical memory chunk(s):
0x000001000 - 0x00009efff, 647168 bytes (158 pages)
0x000446000 - 0x01ffe7fff, 532291584 bytes (129954 pages)
avail memory = 518127616 (505984K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00faff0
bios32: Entry = 0xfb480 (c00fb480)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xb4b0
pnpbios: Found PnP BIOS data at 0xc00fbf20
pnpbios: Entry = f0000:bf50  Rev = 1.0
Other BIOS signatures found:
ACPI: 000f6d80
Preloaded elf kernel "kernel" at 0xc041f000.
Preloaded elf module "linux.ko" at 0xc041f0a8.
Pentium Pro MTRR support enabled
Creating DISK md0
md0: Malloc disk
Math emulator present
pci_open(1):    mode 1 addr port (0x0cf8) is 0x00000000
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=80] is there (id=01e010de)
Using $PIR table, 11 entries at 0xc00fdeb0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
found-> vendor=0x10de, dev=0x01e0, revid=0xa2
       class=06-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       map[10]: type 1, range 32, base e0000000, size 26
found-> vendor=0x10de, dev=0x01eb, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ee, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ed, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ec, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ef, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x0060, revid=0xa3
       class=06-01-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x0064, revid=0xa2
       class=0c-05-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=a, irq=255
       map[10]: type 1, range 32, base 0000e000, size  5
found-> vendor=0x10de, dev=0x0067, revid=0xa3
       class=0c-03-10, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base ed087000, size 12
found-> vendor=0x10de, dev=0x0067, revid=0xa3
       class=0c-03-10, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=b, irq=3
       map[10]: type 1, range 32, base ed082000, size 12
found-> vendor=0x10de, dev=0x0068, revid=0xa3
       class=0c-03-20, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=c, irq=5
       map[10]: type 1, range 32, base ed083000, size  8
found-> vendor=0x10de, dev=0x0066, revid=0xa1
       class=02-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=3
       map[10]: type 1, range 32, base ed086000, size 12
       map[14]: type 1, range 32, base 0000e400, size  3
found-> vendor=0x10de, dev=0x006b, revid=0xa2
       class=04-01-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=3
       map[10]: type 1, range 32, base ed000000, size 19
found-> vendor=0x10de, dev=0x006a, revid=0xa1
       class=04-01-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base 0000d000, size  8
       map[14]: type 1, range 32, base 0000d400, size  7
       map[18]: type 1, range 32, base ed080000, size 12
found-> vendor=0x10de, dev=0x006c, revid=0xa3
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=1        secondarybus=1
found-> vendor=0x10de, dev=0x0065, revid=0xa2
       class=01-01-8a, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       map[20]: type 1, range 32, base 0000f000, size  4
found-> vendor=0x10de, dev=0x006d, revid=0xa3
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=2        secondarybus=2
found-> vendor=0x10de, dev=0x006e, revid=0xa3
       class=0c-00-10, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base ed084000, size 11
       map[14]: type 1, range 32, base ed085000, size  6
found-> vendor=0x10de, dev=0x01e8, revid=0xa2
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=3        secondarybus=3
pci0: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x10de, dev=0x01eb) at 0.1
pci0: <unknown card> (vendor=0x10de, dev=0x01ee) at 0.2
pci0: <unknown card> (vendor=0x10de, dev=0x01ed) at 0.3
pci0: <unknown card> (vendor=0x10de, dev=0x01ec) at 0.4
pci0: <unknown card> (vendor=0x10de, dev=0x01ef) at 0.5
isab0: <PCI to ISA bridge (vendor=10de device=0060)> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <unknown card> (vendor=0x10de, dev=0x0064) at 1.1
ohci0: <OHCI (generic) USB controller> mem 0xed087000-0xed087fff irq 5 at device 2.0 on
pci0
ohci0: (New OHCI DeviceId=0x006710de)
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xed082000-0xed082fff irq 3 at device 2.1 on
pci0
ohci1: (New OHCI DeviceId=0x006710de)
usb1: OHCI version 1.0, legacy support
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <USB controller> (vendor=0x10de, dev=0x0068) at 2.2 irq 5
pci0: <unknown card> (vendor=0x10de, dev=0x0066) at 4.0 irq 3
pci0: <unknown card> (vendor=0x10de, dev=0x006b) at 5.0 irq 3
pcm0: <Nvidia nForce2> port 0xd400-0xd47f,0xd000-0xd0ff mem 0xed080000-0xed080fff irq 5
at device 6.0 on pci0
       using shared irq5.
pcm0: <Avance Logic ALC650 AC97 Codec (id = 0x414c4720)>
pcm0: Codec features 20 bit DAC, 18 bit ADC, 5 bit master volume, Realtek 3D Stereo Enha
ncement
pcm0: Primary codec extended features variable rate PCM, double rate PCM, reserved 1, ce
nter DAC, surround DAC, LFE DAC, reserved 4
pcm0: sndbuf_setmap 5000, 4000; 0xd5d32000 -> 5000
pcm0: sndbuf_setmap 9000, 4000; 0xd5d36000 -> 9000
pcib1: <PCI to PCI bridge (vendor=10de device=006c)> at device 8.0 on pci0
found-> vendor=0x1095, dev=0x3112, revid=0x02
       class=01-04-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base 0000a000, size  3
       map[14]: type 1, range 32, base 0000a400, size  2
       map[18]: type 1, range 32, base 0000a800, size  3
       map[1c]: type 1, range 32, base 0000ac00, size  2
       map[20]: type 1, range 32, base 0000b000, size  4
       map[24]: type 1, range 32, base ec000000, size  9
pci1: <PCI bus> on pcib1
pci1: <unknown card> (vendor=0x1095, dev=0x3112) at 11.0 irq 11
atapci0: <nVIDIA nForce2 ATA133 controller> port 0xf000-0xf00f at device 9.0 on pci0
ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xf000
ata0: mask=03 ostat0=50 ostat2=50
ata0-master: ATAPI 00 00
ata0-slave: ATAPI 00 00
ata0: mask=03 stat0=50 stat1=50
ata0-master: ATA 01 a5
ata0-slave: ATA 01 a5
ata0: devices=03
ata0: at 0x1f0 irq 14 on atapci0
ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xf008
ata1: mask=03 ostat0=50 ostat2=00
ata1-master: ATAPI 14 eb
ata1-slave: ATAPI 00 00
ata1: mask=03 stat0=00 stat1=00
ata1: devices=04
ata1: at 0x170 irq 15 on atapci0
pcib2: <PCI to PCI bridge (vendor=10de device=006d)> at device 12.0 on pci0
found-> vendor=0x10b7, dev=0x9201, revid=0x40
       class=02-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base 0000c000, size  7
       map[14]: type 1, range 32, base e7000000, size  7
pci2: <PCI bus> on pcib2
xl0: <3Com 3c920B-EMB Integrated Fast Etherlink XL> port 0xc000-0xc07f mem 0xe7000000-0x
e700007f irq 5 at device 1.0 on pci2
xl0: using port I/O
xl0: Ethernet address: 00:26:54:0a:df:a2
xl0: media options word: 40
xl0: found MII/AUTO
miibus0: <MII bus> on xl0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: OUI 0x000895, model 0x0012, rev. 1
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bpf: xl0 attached
fwohci0: vendor=10de, dev=6e
fwohci0: <1394 Open Host Controller Interface> mem 0xed085000-0xed08503f,0xed084000-0xed
0847ff irq 11 at device 13.0 on pci0
fwohci0: latency timer 0 -> 32.
fwohci0: cache size 0 -> 8.
       using shared irq11.
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 00:e0:18:00:00:16:af:0a
fwohci0: resetting OHCI...done (loop=0)
fwohci0: fwphy_rddata: 0x2 loop=1, retry=0
fwohci0: fwphy_rddata: 0x3 loop=1, retry=0
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: fwphy_rddata: 0x5 loop=1, retry=0
fwohci0: Enable 1394a Enhancements
fwohci0: fwphy_rddata: 0x5 loop=1, retry=0
fwohci0: fwphy_rddata: 0x2 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: Link S400, max_rec 2048 bytes.
fwohci0: BUS_OPT 0xfffeafe2 -> 0xfffeafe2
fwohci0: fwohci_set_intr: 1
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
sbp_attach (cold=1)
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:e0:18:16:af:0a
bpf: fwe0 attached
sbp_post_busreset
fwohci0: Initiate bus reset
fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
pcib3: <PCI to PCI bridge (vendor=10de device=01e8)> at device 30.0 on pci0
found-> vendor=0x102b, dev=0x0525, revid=0x85
       class=03-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base e4000000, size 25
       map[14]: type 1, range 32, base e8000000, size 14
       map[18]: type 1, range 32, base e9000000, size 23
pci3: <PCI bus> on pcib3
pci3: <Matrox MGA G400 AGP graphics accelerator> (vendor=0x102b, dev=0x0525) at 0.0 irq
11
ata-: ata0 exists, using next available unit number
ata-: ata1 exists, using next available unit number
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
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <Option ROMs> at iomem 0xc0000-0xc87ff,0xcc000-0xcd7ff,0xce000-0xce7ff on isa0
pmtimer0 on isa0
ata2 failed to probe at port 0x1f0 irq 14 on isa0
ata3 failed to probe at port 0x170 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 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 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x1d0000
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
kbdc: RESET_AUX return code:00fa
kbdc: RESET_AUX status:00aa
kbdc: RESET_AUX ID:0000
psm: status 00 02 64
psm: status 00 03 06
psm: status 00 33 55
psm: data 08 00 00
psm: status 00 02 64
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse/NetScroll Optical, device ID 0-00, 3 buttons
psm0: config:00000000, flags:00000000, packet size:4
psm0: syncmask:08, syncbits:08
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x7007f
fb0: port:0x3c0-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 a0 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> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
sio0: irq maps: 0x1 0x11 0x1 0x1
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
ppc0: parallel port found at 0x378
ppc0: using extended I/O port range
ppc0: EPP SPP
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus0
bpf: lp0 attached
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
isa_probe_children: probing PnP devices
BIOS Geometries:
0:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
0 accounted for
Device configuration finished.
bpf: faith0 attached
IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default
to deny, logging limited to 10 packets/entry by default
bpf: lo0 attached
bpf: ppp0 attached
new masks: bio 68c828, tty 6310b2, net 6718b2
bpf: sl0 attached
Linux ELF exec handler installed
ad0: success setting UDMA5 on nVIDIA chip
Creating DISK ad0
ar: FreeBSD check1 failed
ad0: <WDC WD800JB-00ETA0/77.07W77> ATA-6 disk at ata0-master
ad0: 76319MB (156301488 sectors), 155061 C, 16 H, 63 S, 512 B
ad0: 16 secs/int, 1 depth queue, UDMA100
ad0: piomode=4 dmamode=2 udmamode=5 cblid=1
ad1: success setting UDMA5 on nVIDIA chip
Creating DISK ad1
ar: FreeBSD check1 failed
ad1: <WDC WD400BB-60BNA1/18.20D18> ATA-5 disk at ata0-slave
ad1: 38166MB (78165360 sectors), 77545 C, 16 H, 63 S, 512 B
ad1: 16 secs/int, 1 depth queue, UDMA100
ad1: piomode=4 dmamode=2 udmamode=5 cblid=1
ata1-master: piomode=4 dmamode=2 udmamode=2 dmaflag=1
ata1-master: success setting PIO4 on generic chip
acd0: <LITE-ON LTR-52246S/6S0C> CD-RW drive at ata1 as master
acd0: read 40734KB/s (48034KB/s) write 172KB/s (8937KB/s), 2048KB buffer, PIO4
acd0: Reads: CD-R, CD-RW, CD-DA stream, packet
acd0: Writes: CD-R, CD-RW, test write, burnproof
acd0: Audio: play, 255 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
pcm0: measured ac97 link rate at 48004 Hz, will use 48000 Hz
(probe2:ata1:0:0:0): INQUIRY. CDB: 12 1 80 0 ff 0
(probe2:ata1:0:0:0): ILLEGAL REQUEST asc:24,0
(probe2:ata1:0:0:0): Invalid field in CDB
(probe2:ata1:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe2:ata1:0:0:0): NOT READY asc:3a,0
(probe2:ata1:0:0:0): Medium not present
(probe2:ata1:0:0:0): INQUIRY. CDB: 12 1 80 0 ff 0
(probe2:ata1:0:0:0): ILLEGAL REQUEST asc:24,0
(probe2:ata1:0:0:0): Invalid field in CDB
--------------------------


Working 4.9 kernel from March 5, 2004:
--------------------------

/kernel text=0x227aa5 data=0x42f18+0x21e7c syms=[0x4+0x37da0+0x4+0x3f435]
/modules/linux.ko text=0x12314 data=0xfc8+0x4 syms=[0x4+0x2830+0x4+0x2177]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds...

Type '?' for a list of commands, 'help' for more detailed help.
ok unload
ok load kernel.old
/kernel.old text=0x223685 data=0x46264+0x21e90 syms=[0x4+0x37c40+0x4+0x3efca]
ok boot -sv
SMAP type=01 base=0000000000000000 len=000000000009fc00
SMAP type=02 base=00000000000f0000 len=0000000000010000
SMAP type=02 base=00000000fec00000 len=0000000000001000
SMAP type=02 base=00000000fee00000 len=0000000000001000
SMAP type=02 base=00000000ffff0000 len=0000000000010000
SMAP type=02 base=000000000009fc00 len=0000000000000400
SMAP type=01 base=0000000000100000 len=000000001fef0000
SMAP type=03 base=000000001fff3000 len=000000000000d000
SMAP type=04 base=000000001fff0000 len=0000000000003000
Copyright (c) 1992-2003 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.9-STABLE #3: Fri Mar  5 18:14:40 EST 2004
   lee@homer:/mnt/obj/mnt/src/sys/HOMER
Calibrating clock(s) ... TSC clock: 1664116787 Hz, i8254 clock: 1193160 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
Timecounter "TSC"  frequency 1664154952 Hz
CPU: AMD Athlon(tm) XP 2000+ (1664.15-MHz 686-class CPU)
 Origin = "AuthenticAMD"  Id = 0x680  Stepping = 0
 
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,P
SE36,MMX,FXSR,SSE>
 AMD Features=0xc0400000<AMIE,DSP,3DNow!>
Data TLB: 32 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
real memory  = 536805376 (524224K bytes)
Physical memory chunk(s):
0x000001000 - 0x00009efff, 647168 bytes (158 pages)
0x00042c000 - 0x01ffe7fff, 532398080 bytes (129980 pages)
avail memory = 518230016 (506084K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00faff0
bios32: Entry = 0xfb480 (c00fb480)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xb4b0
pnpbios: Found PnP BIOS data at 0xc00fbf20
pnpbios: Entry = f0000:bf50  Rev = 1.0
Other BIOS signatures found:
ACPI: 000f6d80
Preloaded elf kernel "kernel.old" at 0xc0405000.
Pentium Pro MTRR support enabled
Creating DISK md0
md0: Malloc disk
Math emulator present
pci_open(1):    mode 1 addr port (0x0cf8) is 0x00000000
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=80] is there (id=01e010de)
Using $PIR table, 11 entries at 0xc00fdeb0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
found-> vendor=0x10de, dev=0x01e0, revid=0xa2
       class=06-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       map[10]: type 1, range 32, base e0000000, size 26
found-> vendor=0x10de, dev=0x01eb, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ee, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ed, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ec, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x01ef, revid=0xa2
       class=05-00-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x0060, revid=0xa3
       class=06-01-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
found-> vendor=0x10de, dev=0x0064, revid=0xa2
       class=0c-05-00, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=a, irq=255
       map[10]: type 1, range 32, base 0000e000, size  5
found-> vendor=0x10de, dev=0x0067, revid=0xa3
       class=0c-03-10, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base ed087000, size 12
found-> vendor=0x10de, dev=0x0067, revid=0xa3
       class=0c-03-10, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=b, irq=3
       map[10]: type 1, range 32, base ed082000, size 12
found-> vendor=0x10de, dev=0x0068, revid=0xa3
       class=0c-03-20, hdrtype=0x00, mfdev=1
       subordinatebus=0        secondarybus=0
       intpin=c, irq=5
       map[10]: type 1, range 32, base ed083000, size  8
found-> vendor=0x10de, dev=0x0066, revid=0xa1
       class=02-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=3
       map[10]: type 1, range 32, base ed086000, size 12
       map[14]: type 1, range 32, base 0000e400, size  3
found-> vendor=0x10de, dev=0x006b, revid=0xa2
       class=04-01-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=3
       map[10]: type 1, range 32, base ed000000, size 19
found-> vendor=0x10de, dev=0x006a, revid=0xa1
       class=04-01-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base 0000d000, size  8
       map[14]: type 1, range 32, base 0000d400, size  7
       map[18]: type 1, range 32, base ed080000, size 12
found-> vendor=0x10de, dev=0x006c, revid=0xa3
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=1        secondarybus=1
found-> vendor=0x10de, dev=0x0065, revid=0xa2
       class=01-01-8a, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       map[20]: type 1, range 32, base 0000f000, size  4
found-> vendor=0x10de, dev=0x006d, revid=0xa3
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=2        secondarybus=2
found-> vendor=0x10de, dev=0x006e, revid=0xa3
       class=0c-00-10, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base ed084000, size 11
       map[14]: type 1, range 32, base ed085000, size  6
found-> vendor=0x10de, dev=0x01e8, revid=0xa2
       class=06-04-00, hdrtype=0x01, mfdev=0
       subordinatebus=3        secondarybus=3
pci0: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x10de, dev=0x01eb) at 0.1
pci0: <unknown card> (vendor=0x10de, dev=0x01ee) at 0.2
pci0: <unknown card> (vendor=0x10de, dev=0x01ed) at 0.3
pci0: <unknown card> (vendor=0x10de, dev=0x01ec) at 0.4
pci0: <unknown card> (vendor=0x10de, dev=0x01ef) at 0.5
isab0: <PCI to ISA bridge (vendor=10de device=0060)> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <unknown card> (vendor=0x10de, dev=0x0064) at 1.1
ohci0: <OHCI (generic) USB controller> mem 0xed087000-0xed087fff irq 5 at device 2.0 on
pci0
ohci0: (New OHCI DeviceId=0x006710de)
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xed082000-0xed082fff irq 3 at device 2.1 on
pci0
ohci1: (New OHCI DeviceId=0x006710de)
usb1: OHCI version 1.0, legacy support
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <USB controller> (vendor=0x10de, dev=0x0068) at 2.2 irq 5
pci0: <unknown card> (vendor=0x10de, dev=0x0066) at 4.0 irq 3
pci0: <unknown card> (vendor=0x10de, dev=0x006b) at 5.0 irq 3
pcm0: <Nvidia nForce2> port 0xd400-0xd47f,0xd000-0xd0ff mem 0xed080000-0xed080fff irq 5
at device 6.0 on pci0
       using shared irq5.
pcm0: <Avance Logic ALC650 AC97 Codec (id = 0x414c4720)>
pcm0: Codec features 20 bit DAC, 18 bit ADC, 5 bit master volume, Realtek 3D Stereo Enha
ncement
pcm0: Primary codec extended features variable rate PCM, double rate PCM, reserved 1, ce
nter DAC, surround DAC, LFE DAC, reserved 4
pcm0: sndbuf_setmap f000, 4000; 0xd5d40000 -> f000
pcm0: sndbuf_setmap 13000, 4000; 0xd5d44000 -> 13000
pcib1: <PCI to PCI bridge (vendor=10de device=006c)> at device 8.0 on pci0
found-> vendor=0x1095, dev=0x3112, revid=0x02
       class=01-04-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base 0000a000, size  3
       map[14]: type 1, range 32, base 0000a400, size  2
       map[18]: type 1, range 32, base 0000a800, size  3
       map[1c]: type 1, range 32, base 0000ac00, size  2
       map[20]: type 1, range 32, base 0000b000, size  4
       map[24]: type 1, range 32, base ec000000, size  9
pci1: <PCI bus> on pcib1
pci1: <unknown card> (vendor=0x1095, dev=0x3112) at 11.0 irq 11
atapci0: <nVIDIA nForce2 ATA133 controller> port 0xf000-0xf00f at device 9.0 on pci0
ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xf000
ata0: mask=03 ostat0=50 ostat2=50
ata0-master: ATAPI 00 00
ata0-slave: ATAPI 00 00
ata0: mask=03 stat0=50 stat1=50
ata0-master: ATA 01 a5
ata0-slave: ATA 01 a5
ata0: devices=03
ata0: at 0x1f0 irq 14 on atapci0
ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xf008
ata1: mask=03 ostat0=50 ostat2=00
ata1-master: ATAPI 14 eb
ata1-slave: ATAPI 00 00
ata1: mask=03 stat0=00 stat1=00
ata1: devices=04
ata1: at 0x170 irq 15 on atapci0
pcib2: <PCI to PCI bridge (vendor=10de device=006d)> at device 12.0 on pci0
found-> vendor=0x10b7, dev=0x9201, revid=0x40
       class=02-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=5
       map[10]: type 1, range 32, base 0000c000, size  7
       map[14]: type 1, range 32, base e7000000, size  7
pci2: <PCI bus> on pcib2
xl0: <3Com 3c920B-EMB Integrated Fast Etherlink XL> port 0xc000-0xc07f mem 0xe7000000-0x
e700007f irq 5 at device 1.0 on pci2
xl0: using port I/O
xl0: Ethernet address: 00:26:54:0a:df:a2
xl0: media options word: 40
xl0: found MII/AUTO
miibus0: <MII bus> on xl0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: OUI 0x000895, model 0x0012, rev. 1
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bpf: xl0 attached
fwohci0: vendor=10de, dev=6e
fwohci0: <1394 Open Host Controller Interface> mem 0xed085000-0xed08503f,0xed084000-0xed
0847ff irq 11 at device 13.0 on pci0
fwohci0: latency timer 0 -> 32.
fwohci0: cache size 0 -> 8.
       using shared irq11.
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channel is 4.
fwohci0: EUI64 00:e0:18:00:00:16:af:0a
fwohci0: resetting OHCI...done (loop=0)
fwohci0: fwphy_rddata: 0x2 loop=1, retry=0
fwohci0: fwphy_rddata: 0x3 loop=1, retry=0
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: fwphy_rddata: 0x5 loop=1, retry=0
fwohci0: Enable 1394a Enhancements
fwohci0: fwphy_rddata: 0x5 loop=1, retry=0
fwohci0: fwphy_rddata: 0x2 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: fwphy_rddata: 0x4 loop=1, retry=0
fwohci0: Link S400, max_rec 2048 bytes.
fwohci0: BUS_OPT 0xfffeafe2 -> 0xfffeafe2
fwohci0: fwohci_set_intr: 1
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
sbp_attach (cold=1)
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:e0:18:16:af:0a
bpf: fwe0 attached
fwohci0: Initiate bus reset
fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
fwohci0: fwphy_rddata: 0x1 loop=1, retry=0
pcib3: <PCI to PCI bridge (vendor=10de device=01e8)> at device 30.0 on pci0
found-> vendor=0x102b, dev=0x0525, revid=0x85
       class=03-00-00, hdrtype=0x00, mfdev=0
       subordinatebus=0        secondarybus=0
       intpin=a, irq=11
       map[10]: type 1, range 32, base e4000000, size 25
       map[14]: type 1, range 32, base e8000000, size 14
       map[18]: type 1, range 32, base e9000000, size 23
pci3: <PCI bus> on pcib3
pci3: <Matrox MGA G400 AGP graphics accelerator> (vendor=0x102b, dev=0x0525) at 0.0 irq
11
ata-: ata0 exists, using next available unit number
ata-: ata1 exists, using next available unit number
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
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <Option ROMs> at iomem 0xc0000-0xc87ff,0xcc000-0xcd7ff,0xce000-0xce7ff on isa0
pmtimer0 on isa0
ata2 failed to probe at port 0x1f0 irq 14 on isa0
ata3 failed to probe at port 0x170 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 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 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x1d0000
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
kbdc: RESET_AUX return code:00fa
kbdc: RESET_AUX status:00aa
kbdc: RESET_AUX ID:0000
psm: status 00 02 64
psm: status 00 03 06
psm: status 00 33 55
psm: data 08 00 00
psm: status 00 02 64
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse/NetScroll Optical, device ID 0-00, 3 buttons
psm0: config:00000000, flags:00000000, packet size:4
psm0: syncmask:08, syncbits:08
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x7007f
fb0: port:0x3c0-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 a0 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> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
sio0: irq maps: 0x1 0x11 0x1 0x1
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
ppc0: parallel port found at 0x378
ppc0: using extended I/O port range
ppc0: EPP SPP
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus0
bpf: lp0 attached
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
isa_probe_children: probing PnP devices
BIOS Geometries:
0:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
0 accounted for
Device configuration finished.
bpf: sl0 attached
bpf: faith0 attached
IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default
to deny, logging limited to 10 packets/entry by default
bpf: lo0 attached
bpf: ppp0 attached
new masks: bio 68c828, tty 6310b2, net 6718b2
ad0: success setting UDMA5 on nVIDIA chip
Creating DISK ad0
ar: FreeBSD check1 failed
ad0: <WDC WD800JB-00ETA0/77.07W77> ATA-6 disk at ata0-master
ad0: 76319MB (156301488 sectors), 155061 C, 16 H, 63 S, 512 B
ad0: 16 secs/int, 1 depth queue, UDMA100
ad0: piomode=4 dmamode=2 udmamode=5 cblid=1
ad1: success setting UDMA5 on nVIDIA chip
Creating DISK ad1
ar: FreeBSD check1 failed
ad1: <WDC WD400BB-60BNA1/18.20D18> ATA-5 disk at ata0-slave
ad1: 38166MB (78165360 sectors), 77545 C, 16 H, 63 S, 512 B
ad1: 16 secs/int, 1 depth queue, UDMA100
ad1: piomode=4 dmamode=2 udmamode=5 cblid=1
ata1-master: piomode=4 dmamode=2 udmamode=2 dmaflag=1
ata1-master: success setting PIO4 on generic chip
acd0: <LITE-ON LTR-52246S/6S0C> CD-RW drive at ata1 as master
acd0: read 40734KB/s (48034KB/s) write 172KB/s (8937KB/s), 2048KB buffer, PIO4
acd0: Reads: CD-R, CD-RW, CD-DA stream, packet
acd0: Writes: CD-R, CD-RW, test write, burnproof
acd0: Audio: play, 255 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
pcm0: measured ac97 link rate at 47995 Hz, will use 48000 Hz
(probe2:ata1:0:0:0): INQUIRY. CDB: 12 1 80 0 ff 0
(probe2:ata1:0:0:0): ILLEGAL REQUEST asc:24,0
(probe2:ata1:0:0:0): Invalid field in CDB
(probe2:ata1:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe2:ata1:0:0:0): NOT READY asc:3a,0
(probe2:ata1:0:0:0): Medium not present
(probe2:ata1:0:0:0): INQUIRY. CDB: 12 1 80 0 ff 0
(probe2:ata1:0:0:0): ILLEGAL REQUEST asc:24,0
(probe2:ata1:0:0:0): Invalid field in CDB
Creating DISK cd0
pass0 at ata1 bus 0 target 0 lun 0
pass0: <LITE-ON LTR-52246S 6S0C> Removable CD-ROM SCSI-0 device
pass0: 16.000MB/s transfers
Mounting root from ufs:/dev/ad0s1a
(cd0:ata1:0:0:0): READ CD RECORDED CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0
(cd0:ata1:0:0:0): NOT READY asc:3a,0
(cd0:ata1:0:0:0): Medium not present
cd0 at ata1 bus 0 target 0 lun 0
cd0: <LITE-ON LTR-52246S 6S0C> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
ad0s1: type 0xa5, start 63, end = 156296384, size 156296322 : OK
start_init: trying /sbin/init
Enter root password, or ^D to go multi-user

>How-To-Repeat:
Install any version >= 4.10-BETA (including 5.x) and then reboot
>Fix:
Revert to RELENG_4_9
>Release-Note:
>Audit-Trail:

From: Brandon Fosdick <bfoz@terrandev.com>
To: freebsd-gnats-submit@FreeBSD.org, bfoz@terrandev.com
Cc:  
Subject: Re: i386/69218: [boot] failure: 4.10-BETA and later do not boot on
 Asus A7N8X motherboards
Date: Sun, 05 Sep 2004 13:27:38 -0700

 This is a multi-part message in MIME format.
 --------------070009060302070003000500
 Content-Type: text/plain; charset=us-ascii; format=flowed
 Content-Transfer-Encoding: 7bit
 
 I did a binary search of RELENG_4 from March 2004 to May 2004 and found 
 that the last version that boots properly is dated 28 Mar 2004 @ 
 11:45am. The version from the same day @ noon displays the familiar boot 
 hang. The only commit in those 15 minutes is at 11:50 by simokawa and 
 appears to be a fairly extenive update to the firewire subsystem.
 
 That seemed odd to me so I built a kernel from the noon (non-working) 
 source with firewire disabled and it booted just fine. I started playing 
 around and found that a non-working firewire-enabled kernel will boot 
 normally with my iPod plugged in.  In fact it will continue to boot 
 normally even after removing the iPod. Disconnecting the computer's 
 power cable from the wall causes the familiar boot hang to return. 
 However, if the iPod is connected after the computer hangs, it will 
 proceed to boot properly.
 
 So something is definately wrong with the firewire code, but I don't 
 have the expertise to fix it. I'll keep poking to see what I can find, 
 but I could really use the help of someone more knowledgeable. For now 
 the easiest workaround is to plug in an iPod, although I imagine any 
 firewire drive will do.
 
 Attached as file d1 is the output of diff -r --brief that lists the 
 files that were updated at 11:50am on 28 Mar 2004. The attached file d 
 is the actual diff.
 
 I recommend/ask/plead/beg that this PR be assigned to the firewire 
 maintainer(s).
 
 -- 
 Brandon Fosdick
 http://www.terranspace.org
 
 
 --------------070009060302070003000500
 Content-Type: text/plain;
  name="d"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="d"
 
 diff -r 0/src/sys/dev/firewire/firewire.c 1/src/sys/dev/firewire/firewire.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.3.2.29 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.3.2.28 2004/01/26 04:51:15 simokawa Exp $
 47c47
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 54,60d53
 < #ifdef __DragonFly__
 < #include "firewire.h"
 < #include "firewirereg.h"
 < #include "fwmem.h"
 < #include "iec13213.h"
 < #include "iec68113.h"
 < #else
 66d58
 < #endif
 91,92c83
 < static void firewire_identify	(driver_t *, device_t);
 < static int firewire_probe	(device_t);
 ---
 > static int firewire_match      (device_t);
 117,118c108
 < 	DEVMETHOD(device_identify,	firewire_identify),
 < 	DEVMETHOD(device_probe,		firewire_probe),
 ---
 > 	DEVMETHOD(device_probe,		firewire_match),
 248a239
 > 	microtime(&xfer->tv);
 311d301
 < 	microtime(&xfer->tv);
 323,328d312
 < static void
 < firewire_identify(driver_t *driver, device_t parent)
 < {
 < 	BUS_ADD_CHILD(parent, 0, "firewire", -1);
 < }
 < 
 330c314
 < firewire_probe(device_t dev)
 ---
 > firewire_match( device_t dev )
 333c317
 < 	return (0);
 ---
 > 	return -140;
 431d414
 < 	fw_busreset(fc);
 644,647d626
 < #ifdef __DragonFly__
 < 	crom_add_simple_text(src, root, &buf->vendor, "DragonFly Project");
 < 	crom_add_entry(root, CSRKEY_HW, __DragonFly_cc_version);
 < #else
 650d628
 < #endif
 855c833
 < 		printf("%s: invalid range\n", __func__);
 ---
 > 		printf("%s: invalid range\n", __FUNCTION__);
 873c851
 < 	printf("%s: bind failed\n", __func__);
 ---
 > 	printf("%s: bind failed\n", __FUNCTION__);
 901c879
 < 	printf("%s: no such bind\n", __func__);
 ---
 > 	printf("%s: no such bind\n", __FUNCTION__);
 989,990d966
 < 	if (xfer == NULL)
 < 		return(NULL);
 992a969,970
 > 	if (xfer == NULL)
 > 		return(NULL);
 1065c1043
 < 		printf("%s: xfer == NULL\n", __func__);
 ---
 > 		printf("%s: xfer == NULL\n", __FUNCTION__);
 1082c1060
 < 		printf("%s: xfer == NULL\n", __func__);
 ---
 > 		printf("%s: xfer == NULL\n", __FUNCTION__);
 1487,1493c1465,1466
 < 		device_printf(fc->bdev,
 < 		    "bus_explore node=%d addr=0x%x resp=%d retry=%d\n",
 < 		    fc->ongonode, fc->ongoaddr, xfer->resp, xfer->retry);
 < 		if (xfer->retry < fc->max_asyretry) {
 < 			fw_asystart(xfer);
 < 			return;
 < 		}
 ---
 > 		printf("node%d: resp=%d addr=0x%x\n",
 > 			fc->ongonode, xfer->resp, fc->ongoaddr);
 1612c1585
 < 	if (fc->ongodev != NULL) {
 ---
 > 	if (fc->ongodev != NULL)
 1614,1616d1586
 < 		/* Invalidate ROM */
 < 		fc->ongodev->csrrom[0] = 0;
 < 	}
 1675,1676c1645
 < 		device_printf(fc->bdev, "bus_explore failed for %d nodes\n",
 < 		    fc->retry_count);
 ---
 > 		printf("probe failed for %d node\n", fc->retry_count);
 1863,1865c1832
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 			    " src=0x%x data=%lx\n",
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 1866a1834,1835
 > #else
 > 			    " src=0x%x data=%lx\n",
 1985,1987c1954
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 		if (&xferq->rsel.si_pid != 0)
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 1988a1956,1957
 > #else
 > 		if (&xferq->rsel.si_pid != 0)
 2236c2205
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 2242c2211
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 2248c2217
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 2260,2262d2228
 < #ifdef __DragonFly__
 < DECLARE_DUMMY_MODULE(firewire);
 < #endif
 diff -r 0/src/sys/dev/firewire/firewire.h 1/src/sys/dev/firewire/firewire.h
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.2.2.12 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.2.2.11 2003/11/14 11:34:28 simokawa Exp $
 414c414
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 diff -r 0/src/sys/dev/firewire/firewirereg.h 1/src/sys/dev/firewire/firewirereg.h
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.1.2.20 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.1.2.19 2004/01/26 04:51:15 simokawa Exp $
 38,41c38
 < #ifdef __DragonFly__
 < typedef	d_thread_t fw_proc;
 < #include <sys/select.h>
 < #elif __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 74c71
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 311,313d307
 < #ifdef __DragonFly__
 < #define		FWPRI		PCATCH
 < #else
 315d308
 < #endif
 317,319c310
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < #define CALLOUT_INIT(x) callout_init(x)
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 320a312,313
 > #else
 > #define CALLOUT_INIT(x) callout_init(x)
 323c316
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 diff -r 0/src/sys/dev/firewire/fwcrom.c 1/src/sys/dev/firewire/fwcrom.c
 35d34
 < #ifdef __FreeBSD__
 37,38c36
 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwcrom.c,v 1.2.2.5 2004/03/28 11:50:42 simokawa Exp $");
 < #endif
 ---
 > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwcrom.c,v 1.2.2.4 2003/11/14 11:34:28 simokawa Exp $");
 55,59d52
 < 
 < #ifdef __DragonFly__
 < #include "firewire.h"
 < #include "iec13213.h"
 < #else
 62d54
 < #endif
 73,74c65,66
 < 	if (hdr->info_len <= 1) {
 < 		/* minimum or invalid ROM */
 ---
 > 	if (hdr->info_len == 1) {
 > 		/* minimum ROM */
 76d67
 < 		return;
 448c439
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 586,590d576
 < #ifdef __DragonFly__
 < 	crom_add_simple_text(&src, &root, &text1, "DragonFly");
 < 	crom_add_entry(&root, CSRKEY_HW, __DragonFly_cc_version);
 < 	crom_add_simple_text(&src, &root, &text2, "DragonFly-1");
 < #else
 594d579
 < #endif
 diff -r 0/src/sys/dev/firewire/fwdev.c 1/src/sys/dev/firewire/fwdev.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.2.4.16 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.2.4.15 2004/01/26 04:51:15 simokawa Exp $
 42c42
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 59,65d58
 < #ifdef __DragonFly__
 < #include "firewire.h"
 < #include "firewirereg.h"
 < #include "fwdma.h"
 < #include "fwmem.h"
 < #include "iec68113.h"
 < #else
 71d63
 < #endif
 72a65
 > #define CDEV_MAJOR 127
 84,91c77,79
 < struct cdevsw firewire_cdevsw = {
 < #ifdef __DragonFly__
 < #define CDEV_MAJOR 127
 < 	"fw", CDEV_MAJOR, D_MEM, NULL, 0,
 < 	fw_open, fw_close, fw_read, fw_write, fw_ioctl,
 < 	fw_poll, fw_mmap, fw_strategy, nodump, nopsize,
 < #elif __FreeBSD_version >= 500104
 < 	.d_version =	D_VERSION,
 ---
 > struct cdevsw firewire_cdevsw = 
 > {
 > #if __FreeBSD_version >= 500104
 101c89,90
 < 	.d_flags =	D_MEM | D_NEEDGIANT
 ---
 > 	.d_maj =	CDEV_MAJOR,
 > 	.d_flags =	D_MEM
 103d91
 < #define CDEV_MAJOR 127
 191c179
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 580c568
 < 			    (void *)xfer->send.payload, pay_len);
 ---
 > 			    (void *)&xfer->send.payload, pay_len);
 754c742
 < #if defined(__DragonFly__) || __FreeBSD_version < 500102
 ---
 > #if __FreeBSD_version < 500102
 764c752
 < #if defined(__DragonFly__) || __FreeBSD_version < 500102
 ---
 > #if __FreeBSD_version < 500102
 797,799c785
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	cdevsw_add(&firewire_cdevsw);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 813a800,801
 > #else
 > 	cdevsw_add(&firewire_cdevsw);
 824,826c812
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	cdevsw_remove(&firewire_cdevsw);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 827a814,815
 > #else
 > 	cdevsw_remove(&firewire_cdevsw);
 832c820
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 diff -r 0/src/sys/dev/firewire/fwdma.c 1/src/sys/dev/firewire/fwdma.c
 36d35
 < #ifdef __FreeBSD__
 38,40c37
 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.1.2.4 2004/03/28 11:50:42 simokawa Exp $");
 < #endif
 < 
 ---
 > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.1.2.3 2003/11/14 11:34:28 simokawa Exp $");
 46c43
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 
 ---
 > #if __FreeBSD_version >= 501102 
 54,58d50
 < #ifdef __DragonFly__
 < #include <bus/firewire/firewire.h>
 < #include <bus/firewire/firewirereg.h>
 < #include <bus/firewire/fwdma.h>
 < #else
 62d53
 < #endif
 93c84
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 
 ---
 > #if __FreeBSD_version >= 501102 
 191c182
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 202c193
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 diff -r 0/src/sys/dev/firewire/fwmem.c 1/src/sys/dev/firewire/fwmem.c
 36d35
 < #ifdef __FreeBSD__
 38,39c37
 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwmem.c,v 1.1.2.14 2004/03/28 11:50:42 simokawa Exp $");
 < #endif
 ---
 > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwmem.c,v 1.1.2.13 2004/01/26 04:51:15 simokawa Exp $");
 49c47
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 63,67d60
 < #ifdef __DragonFly__
 < #include "firewire.h"
 < #include "firewirereg.h"
 < #include "fwmem.h"
 < #else
 71d63
 < #endif
 297c289
 < 		printf("%s: refcount=%d\n", __func__, fms->refcount);
 ---
 > 		printf("%s: refcount=%d\n", __FUNCTION__, fms->refcount);
 310c302
 < 		printf("%s: refcount=%d\n", __func__, fms->refcount);
 ---
 > 		printf("%s: refcount=%d\n", __FUNCTION__, fms->refcount);
 330c322
 < 			printf("%s: err=%d\n", __func__, bp->bio_error);
 ---
 > 			printf("%s: err=%d\n", __FUNCTION__, bp->bio_error);
 400c392
 < 			printf("%s: err=%d\n", __func__, err);
 ---
 > 			printf("%s: err=%d\n", __FUNCTION__, err);
 433c425
 < #if defined(__DragonFly__) || __FreeBSD_version < 500102
 ---
 > #if __FreeBSD_version < 500102
 diff -r 0/src/sys/dev/firewire/fwohci.c 1/src/sys/dev/firewire/fwohci.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.1.2.27 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.1.2.26 2004/01/26 04:51:15 simokawa Exp $
 57c57
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 61,68d60
 < #ifdef __DragonFly__
 < #include "firewire.h"
 < #include "firewirereg.h"
 < #include "fwdma.h"
 < #include "fwohcireg.h"
 < #include "fwohcivar.h"
 < #include "firewire_phy.h"
 < #else
 75d66
 < #endif
 548a540
 > 	fw_busreset(&sc->fc);
 1218c1210
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 1826c1818,1820
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version >= 500000
 > 		irstat = atomic_readandclear_int(&sc->irstat);
 > #else
 1829,1830d1822
 < #else
 < 		irstat = atomic_readandclear_int(&sc->irstat);
 1850c1842,1844
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version >= 500000
 > 		itstat = atomic_readandclear_int(&sc->itstat);
 > #else
 1853,1854d1846
 < #else
 < 		itstat = atomic_readandclear_int(&sc->itstat);
 1940c1932
 < #if 1 /* XXX needed?? */
 ---
 > #if 1
 2367,2370c2359
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 		printf("%08x %s %s %s %s %5d %08x %08x %04x:%04x",
 < 				db_tr->bus_addr,
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2372a2362,2364
 > #else
 > 		printf("%08x %s %s %s %s %5d %08x %08x %04x:%04x",
 > 				db_tr->bus_addr,
 diff -r 0/src/sys/dev/firewire/fwohci_pci.c 1/src/sys/dev/firewire/fwohci_pci.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.3.2.20 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.3.2.19 2004/01/26 04:51:15 simokawa Exp $
 48c48
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 54c54
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 58,68d57
 < #ifdef __DragonFly__
 < #include <bus/pci/pcivar.h>
 < #include <bus/pci/pcireg.h>
 < 
 < #include "firewire.h"
 < #include "firewirereg.h"
 < 
 < #include "fwdma.h"
 < #include "fwohcireg.h"
 < #include "fwohcivar.h"
 < #else
 83d71
 < #endif
 110,113d97
 < 	if (id == (FW_VENDORID_NEC | FW_DEVICE_UPD72873)) {
 < 		device_set_desc(dev, "NEC uPD72873");
 < 		return 0;
 < 	}
 199c183
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 250,251c234,235
 < 	int rid;
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > 	int rid, s;
 > #if __FreeBSD_version < 500000
 269,271d252
 < #if __FreeBSD_version >= 502109
 < 	sc->bsr = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, RF_ACTIVE);
 < #else
 273,274c254
 < 	    0, ~0, 1, RF_ACTIVE);
 < #endif
 ---
 > 					0, ~0, 1, RF_ACTIVE);
 284,287d263
 < #if __FreeBSD_version >= 502109
 < 	sc->irq_res = bus_alloc_resource_any(self, SYS_RES_IRQ, &rid,
 < 				     RF_SHAREABLE | RF_ACTIVE);
 < #else
 290d265
 < #endif
 296a272,278
 > 	sc->fc.bdev = device_add_child(self, "firewire", -1);
 > 	if (!sc->fc.bdev) {
 > 		device_printf(self, "Could not add firewire device\n");
 > 		fwohci_pci_detach(self);
 > 		return ENOMEM;
 > 	}
 > 	device_set_ivars(sc->fc.bdev, sc);
 305c287
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 332c314
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 351,353c333,349
 < 	/* probe and attach a child device(firewire) */
 < 	bus_generic_probe(self);
 < 	bus_generic_attach(self);
 ---
 > 	err = device_probe_and_attach(sc->fc.bdev);
 > 
 > 	if (err) {
 > 		device_printf(self, "probe_and_attach failed with err=%d\n",
 > 		    err);
 > 		fwohci_pci_detach(self);
 > 		return EIO;
 > 	}
 > 
 > 	/* XXX
 > 	 * Clear the bus reset event flag to start transactions even when
 > 	 * interrupt is disabled during the boot process.
 > 	 */
 > 	DELAY(250); /* 2 cycles */
 > 	s = splfw();
 > 	fwohci_poll((void *)sc, 0, -1);
 > 	splx(s);
 387c383
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 451,486d446
 < static device_t
 < fwohci_pci_add_child(device_t dev, int order, const char *name, int unit)
 < {
 < 	struct fwohci_softc *sc;
 < 	device_t child;
 < 	int s, err = 0;
 < 
 < 	sc = (struct fwohci_softc *)device_get_softc(dev);
 < 	child = device_add_child(dev, name, unit);
 < 	if (child == NULL)
 < 		return (child);
 < 
 < 	sc->fc.bdev = child;
 < 	device_set_ivars(child, (void *)&sc->fc);
 < 
 < 	err = device_probe_and_attach(child);
 < 	if (err) {
 < 		device_printf(dev, "probe_and_attach failed with err=%d\n",
 < 		    err);
 < 		fwohci_pci_detach(dev);
 < 		device_delete_child(dev, child);
 < 		return NULL;
 < 	}
 < 
 < 	/* XXX
 < 	 * Clear the bus reset event flag to start transactions even when
 < 	 * interrupt is disabled during the boot process.
 < 	 */
 < 	DELAY(250); /* 2 cycles */
 < 	s = splfw();
 < 	fwohci_poll((void *)sc, 0, -1);
 < 	splx(s);
 < 
 < 	return (child);
 < }
 < 
 497d456
 < 	DEVMETHOD(bus_add_child,	fwohci_pci_add_child),
 511,513d469
 < #ifdef FWOHCI_MODULE
 < MODULE_DEPEND(fwohci, firewire, 1, 1, 1);
 < #endif
 diff -r 0/src/sys/dev/firewire/fwohcireg.h 1/src/sys/dev/firewire/fwohcireg.h
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.2.2.12 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.2.2.11 2004/01/26 04:51:15 simokawa Exp $
 37c37
 < #define		PCI_CBMEM		PCIR_BAR(0)
 ---
 > #define		PCI_CBMEM		0x10
 50d49
 < #define		FW_DEVICE_UPD72873	(0x00e7 << 16)
 diff -r 0/src/sys/dev/firewire/fwohcivar.h 1/src/sys/dev/firewire/fwohcivar.h
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/fwohcivar.h,v 1.1.2.10 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/fwohcivar.h,v 1.1.2.9 2004/01/26 04:51:15 simokawa Exp $
 38,40c38
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < #define FWOHCI_TASKQUEUE        0
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 41a40,41
 > #else
 > #define FWOHCI_TASKQUEUE        0
 52c52
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 diff -r 0/src/sys/dev/firewire/if_fwe.c 1/src/sys/dev/firewire/if_fwe.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.1.2.18 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.1.2.17 2004/01/26 04:51:15 simokawa Exp $
 55,60d54
 < #ifdef __DragonFly__
 < #include <net/vlan/if_vlan_var.h>
 < #include <bus/firewire/firewire.h>
 < #include <bus/firewire/firewirereg.h>
 < #include "if_fwevar.h"
 < #else
 66d59
 < #endif
 205c198
 < #if __FreeBSD_version >= 501113 || defined(__DragonFly__)
 ---
 > #if __FreeBSD_version >= 501113
 220,222c213
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	ether_ifattach(ifp, 1);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 223a215,216
 > #else
 > 	ether_ifattach(ifp, 1);
 229c222
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 289,291c282
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	ether_ifdetach(&fwe->fwe_if, 1);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 292a284,285
 > #else
 > 	ether_ifdetach(&fwe->fwe_if, 1);
 355,357c348
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 				m_getcl(M_WAIT, MT_DATA, M_PKTHDR);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 358a350,351
 > #else
 > 				m_getcl(M_WAIT, MT_DATA, M_PKTHDR);
 435c428
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 446c439
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 542c535,537
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version >= 500000
 > 		BPF_MTAP(ifp, m);
 > #else
 545,546d539
 < #else
 < 		BPF_MTAP(ifp, m);
 585c578
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 618c611
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 ---
 > #if __FreeBSD_version < 500000
 640,642c633
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 		ether_input(ifp, eh, m);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 643a635,636
 > #else
 > 		ether_input(ifp, eh, m);
 670,672d662
 < #ifdef __DragonFly__
 < DECLARE_DUMMY_MODULE(fwe);
 < #endif
 diff -r 0/src/sys/dev/firewire/sbp.c 1/src/sys/dev/firewire/sbp.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.5.2.27 2004/03/28 11:50:42 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.5.2.26 2004/01/26 04:51:15 simokawa Exp $
 42d41
 < #include <sys/kernel.h>
 46c45
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 51c50
 < #if defined(__DragonFly__) || __FreeBSD_version < 500106
 ---
 > #if __FreeBSD_version < 500106
 55,69d53
 < #ifdef __DragonFly__
 < #include <bus/cam/cam.h>
 < #include <bus/cam/cam_ccb.h>
 < #include <bus/cam/cam_sim.h>
 < #include <bus/cam/cam_xpt_sim.h>
 < #include <bus/cam/cam_debug.h>
 < #include <bus/cam/cam_periph.h>
 < #include <bus/cam/scsi/scsi_all.h>
 < 
 < #include <bus/firewire/firewire.h>
 < #include <bus/firewire/firewirereg.h>
 < #include <bus/firewire/fwdma.h>
 < #include <bus/firewire/iec13213.h>
 < #include "sbp.h"
 < #else
 75a60
 > 
 77a63,64
 > #include <sys/kernel.h>
 > 
 83d69
 < #endif
 130,131d115
 < static int use_doorbell = 0;
 < static int sbp_tags = 0;
 147,150d130
 < SYSCTL_INT(_hw_firewire_sbp, OID_AUTO, use_doorbell, CTLFLAG_RW,
 < 	&use_doorbell, 0, "SBP use doorbell request");
 < SYSCTL_INT(_hw_firewire_sbp, OID_AUTO, tags, CTLFLAG_RW, &sbp_tags, 0,
 < 	"SBP tagged queuing support");
 157,158d136
 < TUNABLE_INT("hw.firewire.sbp.use_doorbell", &use_doorbell);
 < TUNABLE_INT("hw.firewire.sbp.tags", &sbp_tags);
 204,206d181
 < #define	ORB_DOORBELL_ACTIVE	(1 << 4)
 < #define	ORB_DOORBELL_NEED	(1 << 5)
 < #define	ORB_SHORTAGE		(1 << 6)
 216d190
 < 	struct sbp_ocb *last_ocb;
 256d229
 < static void sbp_doorbell(struct sbp_dev *);
 498c471
 < 			printf("%s: realloc failed\n", __func__);
 ---
 > 			printf("%s: realloc failed\n", __FUNCTION__);
 534c507
 < 				printf("%s: malloc failed\n", __func__);
 ---
 > 				printf("%s: malloc failed\n", __FUNCTION__);
 556c529
 < 							__func__);
 ---
 > 							__FUNCTION__);
 698c671
 < 	printf("%s: sec = %ld usec = %ld ticks = %d\n", __func__,
 ---
 > 	printf("%s: sec = %ld usec = %ld ticks = %d\n", __FUNCTION__,
 1098c1071
 < 	printf("%s\n", __func__);
 ---
 > 	printf("%s\n", __FUNCTION__);
 1102c1075
 < 		printf("%s: resp=%d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: resp=%d\n", __FUNCTION__, xfer->resp);
 1176c1149
 < 	printf("%s\n", __func__);
 ---
 > 	printf("%s\n", __FUNCTION__);
 1180c1153
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 1203c1176
 < 	printf("%s: 0x%08x\n", __func__, (u_int32_t)ocb->bus_addr);
 ---
 > 	printf("%s: 0x%08x\n", __FUNCTION__, (u_int32_t)ocb->bus_addr);
 1208c1181
 < 		printf("%s: orb pointer active\n", __func__);
 ---
 > 		printf("%s: orb pointer active\n", __FUNCTION__);
 1233a1207
 > #if 0
 1235c1209
 < sbp_doorbell_callback(struct fw_xfer *xfer)
 ---
 > sbp_cmd_callback(struct fw_xfer *xfer)
 1236a1211
 > SBP_DEBUG(1)
 1239,1240d1213
 < 
 < SBP_DEBUG(1)
 1242c1215
 < 	printf("sbp_doorbell_callback\n");
 ---
 > 	printf("sbp_cmd_callback\n");
 1246c1219
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 1249,1253d1221
 < 	sdev->flags &= ~ORB_DOORBELL_ACTIVE;
 < 	if ((sdev->flags & ORB_DOORBELL_NEED) != 0) {
 < 		sdev->flags &= ~ORB_DOORBELL_NEED;
 < 		sbp_doorbell(sdev);
 < 	}
 1267,1271d1234
 < 	if ((sdev->flags & ORB_DOORBELL_ACTIVE) != 0) {
 < 		sdev->flags |= ORB_DOORBELL_NEED;
 < 		return;
 < 	}
 < 	sdev->flags |= ORB_DOORBELL_ACTIVE;
 1275,1276c1238,1239
 < 	xfer->act.hand = sbp_doorbell_callback;
 < 	fp = &xfer->send.hdr;
 ---
 > 	xfer->act.hand = sbp_cmd_callback;
 > 	fp = (struct fw_pkt *)xfer->send.buf;
 1279a1243
 > #endif
 1577a1542,1545
 > 		/* enable tagged queuing */
 > #if 1
 > 		inq->flags |= SID_CmdQue;
 > #endif
 1589,1597d1556
 < 	/*
 < 	 * Force to enable/disable tagged queuing.
 < 	 * XXX CAM also checks SCP_QUEUE_DQUE flag in the control mode page.
 < 	 */
 < 	if (sbp_tags > 0)
 < 		inq->flags |= SID_CmdQue;
 < 	else if (sbp_tags < 0)
 < 		inq->flags &= ~SID_CmdQue;
 < 
 1673,1675c1632
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 			printf("No ocb(%lx) on the queue\n",
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 1676a1634,1635
 > #else
 > 			printf("No ocb(%lx) on the queue\n",
 1701,1703c1660
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 				" len:%x stat:%x orb:%x%08lx\n",
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 1704a1662,1663
 > #else
 > 				" len:%x stat:%x orb:%x%08lx\n",
 1855,1856c1814
 < 	if (!use_doorbell)
 < 		sbp_free_ocb(sdev, ocb);
 ---
 > 	sbp_free_ocb(sdev, ocb);
 1938c1896
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102
 ---
 > #if __FreeBSD_version >= 501102
 2385,2388d2342
 < 			if (sdev->freeze == 0) {
 < 				xpt_freeze_devq(sdev->path, 1);
 < 				sdev->freeze ++;
 < 			}
 2443c2397
 < #if defined(__DragonFly__) || __FreeBSD_version < 501100
 ---
 > #if __FreeBSD_version < 501100
 2458,2460c2412
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 			"Volume size = %d\n",
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2461a2414,2415
 > #else
 > 			"Volume size = %d\n",
 2466c2420
 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000
 ---
 > #if __FreeBSD_version >= 500000
 2472c2426
 < #if defined(__DragonFly__) || __FreeBSD_version < 501100
 ---
 > #if __FreeBSD_version < 501100
 2588,2590c2542
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 		printf(", %x:%d", segments[i].ds_addr, segments[i].ds_len);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2592a2545,2546
 > #else
 > 		printf(", %x:%d", segments[i].ds_addr, segments[i].ds_len);
 2612,2614c2566
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 					"segment length(%d) is less than 16."
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2615a2568,2569
 > #else
 > 					"segment length(%d) is less than 16."
 2633,2644c2587,2589
 < 	if (use_doorbell) {
 < 		if (prev == NULL) {
 < 			if (ocb->sdev->last_ocb != NULL)
 < 				sbp_doorbell(ocb->sdev);
 < 			else
 < 				sbp_orb_pointer(ocb->sdev, ocb); 
 < 		}
 < 	} else {
 < 		if (prev == NULL || (ocb->sdev->flags & ORB_LINK_DEAD) != 0) {
 < 			ocb->sdev->flags &= ~ORB_LINK_DEAD;
 < 			sbp_orb_pointer(ocb->sdev, ocb); 
 < 		}
 ---
 > 	if (prev == NULL || (ocb->sdev->flags & ORB_LINK_DEAD) != 0) {
 > 		ocb->sdev->flags &= ~ORB_LINK_DEAD;
 > 		sbp_orb_pointer(ocb->sdev, ocb); 
 2672,2674c2617
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	printf("%s: 0x%08lx src %d\n",
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2675a2619,2620
 > #else
 > 	printf("%s: 0x%08lx src %d\n",
 2677c2622
 < 	    __func__, ntohl(sbp_status->orb_lo), sbp_status->src);
 ---
 > 	    __FUNCTION__, ntohl(sbp_status->orb_lo), sbp_status->src);
 2697,2708c2642,2651
 < 			if (!use_doorbell) {
 < 				if (sbp_status->src == SRC_NO_NEXT) {
 < 					if (next != NULL)
 < 						sbp_orb_pointer(sdev, next); 
 < 					else if (order > 0) {
 < 						/*
 < 						 * Unordered execution
 < 						 * We need to send pointer for
 < 						 * next ORB
 < 						 */
 < 						sdev->flags |= ORB_LINK_DEAD;
 < 					}
 ---
 > 			if (sbp_status->src == SRC_NO_NEXT) {
 > 				if (next != NULL)
 > 					sbp_orb_pointer(sdev, next); 
 > 				else if (order > 0) {
 > 					/*
 > 					 * Unordered execution
 > 					 * We need to send pointer for
 > 					 * next ORB
 > 					 */
 > 					sdev->flags |= ORB_LINK_DEAD;
 2710,2720d2652
 < 			} else {
 < 				/*
 < 				 * XXX this is not correct for unordered
 < 				 * execution. 
 < 				 */
 < 				if (sdev->last_ocb != NULL)
 < 					sbp_free_ocb(sdev, sdev->last_ocb);
 < 				sdev->last_ocb = ocb;
 < 				if (next != NULL &&
 < 				    sbp_status->src == SRC_NO_NEXT)
 < 					sbp_doorbell(sdev);
 2740c2672
 < 	struct sbp_ocb *prev, *prev2;
 ---
 > 	struct sbp_ocb *prev;
 2744,2745c2676,2677
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	printf("%s: 0x%08x\n", __func__, ocb->bus_addr);
 ---
 > #if __FreeBSD_version >= 500000
 > 	printf("%s: 0x%08jx\n", __FUNCTION__, (uintmax_t)ocb->bus_addr);
 2747c2679
 < 	printf("%s: 0x%08jx\n", __func__, (uintmax_t)ocb->bus_addr);
 ---
 > 	printf("%s: 0x%08x\n", __FUNCTION__, ocb->bus_addr);
 2750c2682
 < 	prev2 = prev = STAILQ_LAST(&sdev->ocbs, sbp_ocb, ocb);
 ---
 > 	prev = STAILQ_LAST(&sdev->ocbs, sbp_ocb, ocb);
 2757,2760c2689
 < 	if (use_doorbell && prev == NULL)
 < 		prev2 = sdev->last_ocb;
 < 
 < 	if (prev2 != NULL) {
 ---
 > 	if (prev != NULL) {
 2762,2765c2691
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 		printf("linking chain 0x%x -> 0x%x\n",
 < 		    prev2->bus_addr, ocb->bus_addr);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2767c2693,2696
 < 		    (uintmax_t)prev2->bus_addr, (uintmax_t)ocb->bus_addr);
 ---
 > 		    (uintmax_t)prev->bus_addr, (uintmax_t)ocb->bus_addr);
 > #else
 > 		printf("linking chain 0x%x -> 0x%x\n",
 > 		    prev->bus_addr, ocb->bus_addr);
 2770,2771c2699,2700
 < 		prev2->orb[1] = htonl(ocb->bus_addr);
 < 		prev2->orb[0] = 0;
 ---
 > 		prev->orb[1] = htonl(ocb->bus_addr);
 > 		prev->orb[0] = 0;
 2785d2713
 < 		sdev->flags |= ORB_SHORTAGE;
 2801,2808d2728
 < 	if ((sdev->flags & ORB_SHORTAGE) != 0) {
 < 		int count;
 < 
 < 		sdev->flags &= ~ORB_SHORTAGE;
 < 		count = sdev->freeze;
 < 		sdev->freeze = 0;
 < 		xpt_release_devq(sdev->path, count, TRUE);
 < 	}
 2819,2821c2739
 < #if defined(__DragonFly__) || __FreeBSD_version < 500000
 < 	printf("sbp_abort_ocb 0x%x\n", ocb->bus_addr);
 < #else
 ---
 > #if __FreeBSD_version >= 500000
 2822a2741,2742
 > #else
 > 	printf("sbp_abort_ocb 0x%x\n", ocb->bus_addr);
 2859,2862d2778
 < 	if (sdev->last_ocb != NULL) {
 < 		sbp_free_ocb(sdev, sdev->last_ocb);
 < 		sdev->last_ocb = NULL;
 < 	}
 2885,2887d2800
 < #ifdef __DragonFly__
 < DECLARE_DUMMY_MODULE(sbp);
 < #endif
 diff -r 0/src/sys/dev/firewire/sbp_targ.c 1/src/sys/dev/firewire/sbp_targ.c
 34c34
 <  * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2.2.4 2004/03/28 11:50:43 simokawa Exp $
 ---
 >  * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2.2.3 2004/01/26 04:51:15 simokawa Exp $
 245c245
 < 		printf("%s: login = NULL\n", __func__);
 ---
 > 		printf("%s: login = NULL\n", __FUNCTION__);
 267c267
 < 		printf("%s: login_id=%d expired\n", __func__, login->id);
 ---
 > 		printf("%s: login_id=%d expired\n", __FUNCTION__, login->id);
 270c270
 < 		printf("%s: login_id=%d not hold\n", __func__, login->id);
 ---
 > 		printf("%s: login_id=%d not hold\n", __FUNCTION__, login->id);
 295c295
 < 		printf("%s: already freezed\n", __func__);
 ---
 > 		printf("%s: already freezed\n", __FUNCTION__);
 483c483
 < 	printf("%s: not implemented yet\n", __func__);
 ---
 > 	printf("%s: not implemented yet\n", __FUNCTION__);
 515c515
 < 		printf("%s: no such login\n", __func__);
 ---
 > 		printf("%s: no such login\n", __FUNCTION__);
 521c521
 < 	printf("%s: orb not found tag_id=0x%08x\n", __func__, tag_id);
 ---
 > 	printf("%s: orb not found tag_id=0x%08x\n", __FUNCTION__, tag_id);
 533c533
 < 		printf("%s: status=%d\n", __func__, orbi->state);
 ---
 > 		printf("%s: status=%d\n", __FUNCTION__, orbi->state);
 558c558
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 580c580
 < 		printf("%s: xfer == NULL\n", __func__);
 ---
 > 		printf("%s: xfer == NULL\n", __FUNCTION__);
 600c600
 < 			printf("%s: STATUS_OK\n", __func__);
 ---
 > 			printf("%s: STATUS_OK\n", __FUNCTION__);
 611c611
 < 			printf("%s: STATUS %d\n", __func__,
 ---
 > 			printf("%s: STATUS %d\n", __FUNCTION__,
 652c652
 < 		printf("%s: unknown scsi status 0x%x\n", __func__,
 ---
 > 		printf("%s: unknown scsi status 0x%x\n", __FUNCTION__,
 672c672
 < 		printf("%s: resp=%d refcount=%d\n", __func__,
 ---
 > 		printf("%s: resp=%d refcount=%d\n", __FUNCTION__,
 676c676
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 689c689
 < 				printf("%s: orbi aborted\n", __func__);
 ---
 > 				printf("%s: orbi aborted\n", __FUNCTION__);
 759c759
 < 	printf("%s: not found\n", __func__);
 ---
 > 	printf("%s: not found\n", __FUNCTION__);
 773c773
 < 		printf("%s: offset=%d size=%d\n", __func__, offset, size);
 ---
 > 		printf("%s: offset=%d size=%d\n", __FUNCTION__, offset, size);
 793c793
 < 			printf("%s: xfer == NULL", __func__);
 ---
 > 			printf("%s: xfer == NULL", __FUNCTION__);
 813c813
 < 			printf("%s: orbi aborted\n", __func__);
 ---
 > 			printf("%s: orbi aborted\n", __FUNCTION__);
 821c821
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 837c837
 < 		printf("%s: dxfer_len=%d\n", __func__, res);
 ---
 > 		printf("%s: dxfer_len=%d\n", __FUNCTION__, res);
 855c855
 < 		printf("%s: refcount == 0\n", __func__);
 ---
 > 		printf("%s: refcount == 0\n", __FUNCTION__);
 858c858
 < 		printf("%s: page table is too small(%d)\n", __func__, res);
 ---
 > 		printf("%s: page table is too small(%d)\n", __FUNCTION__, res);
 871c871
 < 		    __func__, orbi->orb4.data_size);
 ---
 > 		    __FUNCTION__, orbi->orb4.data_size);
 904c904
 < 			printf("%s: XPT_CONT_TARGET_IO\n", __func__);
 ---
 > 			printf("%s: XPT_CONT_TARGET_IO\n", __FUNCTION__);
 921c921
 < 				printf("%s: ctio aborted\n", __func__);
 ---
 > 				printf("%s: ctio aborted\n", __FUNCTION__);
 937c937
 < 			printf("%s: direction mismatch\n", __func__);
 ---
 > 			printf("%s: direction mismatch\n", __FUNCTION__);
 943c943
 < 				    __func__);
 ---
 > 				    __FUNCTION__);
 946c946
 < 			 	    __func__, orbi->orb4.page_size);
 ---
 > 			 	    __FUNCTION__, orbi->orb4.page_size);
 959c959
 < 			    __func__, orbi->orb4.data_size,
 ---
 > 			    __FUNCTION__, orbi->orb4.data_size,
 989c989
 < 				printf("%s: new atio arrived\n", __func__);
 ---
 > 				printf("%s: new atio arrived\n", __FUNCTION__);
 1057c1057
 < 				__func__, accb->ccb_h.func_code);
 ---
 > 				__FUNCTION__, accb->ccb_h.func_code);
 1066c1066
 < 		    __func__, ccb->ccb_h.func_code);
 ---
 > 		    __FUNCTION__, ccb->ccb_h.func_code);
 1104c1104
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 1119c1119
 < 		printf("%s: aborted\n", __func__);
 ---
 > 		printf("%s: aborted\n", __FUNCTION__);
 1134c1134
 < 		printf("%s: rq_fmt(%d) != 0\n", __func__, orb4->rq_fmt);
 ---
 > 		printf("%s: rq_fmt(%d) != 0\n", __FUNCTION__, orb4->rq_fmt);
 1149c1149
 < 		    __func__,
 ---
 > 		    __FUNCTION__,
 1181c1181
 < 			printf("%s: fetch next orb\n", __func__);
 ---
 > 			printf("%s: fetch next orb\n", __FUNCTION__);
 1217c1217
 < 	printf("%s: increase MAX_LOGIN\n", __func__);
 ---
 > 	printf("%s: increase MAX_LOGIN\n", __FUNCTION__);
 1225c1225
 < 		printf("%s: malloc failed\n", __func__);
 ---
 > 		printf("%s: malloc failed\n", __FUNCTION__);
 1253c1253
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 1274c1274
 < 		printf("%s: %s\n", __func__, orb_fun_name[orb4->fun]);
 ---
 > 		printf("%s: %s\n", __FUNCTION__, orb_fun_name[orb4->fun]);
 1305c1305
 < 			    __func__);
 ---
 > 			    __FUNCTION__);
 1333c1333
 < 			    __func__, login->id);
 ---
 > 			    __FUNCTION__, login->id);
 1338c1338
 < 			    __func__, orb4->id);
 ---
 > 			    __FUNCTION__, orb4->id);
 1344c1344
 < 			printf("%s: wrong initiator\n", __func__);
 ---
 > 			printf("%s: wrong initiator\n", __FUNCTION__);
 1351c1351
 < 		    __func__, orb_fun_name[orb4->fun]);
 ---
 > 		    __FUNCTION__, orb_fun_name[orb4->fun]);
 1368c1368
 < 		printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
 ---
 > 		printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp);
 1375c1375
 < 		printf("%s: invalid pointer\n", __func__);
 ---
 > 		printf("%s: invalid pointer\n", __FUNCTION__);
 1394c1394
 < 		printf("%s: fetch orb %04x:%08x\n", __func__, orb_hi, orb_lo);
 ---
 > 		printf("%s: fetch orb %04x:%08x\n", __FUNCTION__, orb_hi, orb_lo);
 1397c1397
 < 		printf("%s: malloc failed\n", __func__);
 ---
 > 		printf("%s: malloc failed\n", __FUNCTION__);
 1423c1423
 < 			printf("%s: no free atio\n", __func__);
 ---
 > 			printf("%s: no free atio\n", __FUNCTION__);
 1446c1446
 < 		printf("%s: invalid mode %d\n", __func__, mode);
 ---
 > 		printf("%s: invalid mode %d\n", __FUNCTION__, mode);
 1457c1457
 < 		printf("%s: xfer=%p\n", __func__, xfer);
 ---
 > 		printf("%s: xfer=%p\n", __FUNCTION__, xfer);
 1491c1491
 < 			printf("%s: ORB_POINTER\n", __func__);
 ---
 > 			printf("%s: ORB_POINTER\n", __FUNCTION__);
 1504c1504
 < 			printf("%s: AGENT RESET\n", __func__);
 ---
 > 			printf("%s: AGENT RESET\n", __FUNCTION__);
 1511c1511
 < 			printf("%s: DOORBELL\n", __func__);
 ---
 > 			printf("%s: DOORBELL\n", __FUNCTION__);
 1515c1515
 < 			    __func__);
 ---
 > 			    __FUNCTION__);
 1528c1528
 < 		printf("%s: AGENT_STATE (ignore)\n", __func__);
 ---
 > 		printf("%s: AGENT_STATE (ignore)\n", __FUNCTION__);
 1531c1531
 < 		printf("%s: UNSOLICITED_STATE_ENABLE (ignore)\n", __func__);
 ---
 > 		printf("%s: UNSOLICITED_STATE_ENABLE (ignore)\n", __FUNCTION__);
 1534c1534
 < 		printf("%s: invalid register %d\n", __func__, reg);
 ---
 > 		printf("%s: invalid register %d\n", __FUNCTION__, reg);
 1551c1551
 < 		printf("%s: tcode = %d\n", __func__, fp->mode.wreqb.tcode);
 ---
 > 		printf("%s: tcode = %d\n", __FUNCTION__, fp->mode.wreqb.tcode);
 1579c1579
 < 		    __func__, fp->mode.wreqb.src & 0x3f);
 ---
 > 		    __FUNCTION__, fp->mode.wreqb.src & 0x3f);
 1594c1594
 < 		printf("%s: rtcode = %d\n", __func__, rtcode);
 ---
 > 		printf("%s: rtcode = %d\n", __FUNCTION__, rtcode);
 
 --------------070009060302070003000500
 Content-Type: text/plain;
  name="d1"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="d1"
 
 Files 0/src/sys/dev/firewire/firewire.c and 1/src/sys/dev/firewire/firewire.c differ
 Files 0/src/sys/dev/firewire/firewire.h and 1/src/sys/dev/firewire/firewire.h differ
 Files 0/src/sys/dev/firewire/firewirereg.h and 1/src/sys/dev/firewire/firewirereg.h differ
 Files 0/src/sys/dev/firewire/fwcrom.c and 1/src/sys/dev/firewire/fwcrom.c differ
 Files 0/src/sys/dev/firewire/fwdev.c and 1/src/sys/dev/firewire/fwdev.c differ
 Files 0/src/sys/dev/firewire/fwdma.c and 1/src/sys/dev/firewire/fwdma.c differ
 Files 0/src/sys/dev/firewire/fwmem.c and 1/src/sys/dev/firewire/fwmem.c differ
 Files 0/src/sys/dev/firewire/fwohci.c and 1/src/sys/dev/firewire/fwohci.c differ
 Files 0/src/sys/dev/firewire/fwohci_pci.c and 1/src/sys/dev/firewire/fwohci_pci.c differ
 Files 0/src/sys/dev/firewire/fwohcireg.h and 1/src/sys/dev/firewire/fwohcireg.h differ
 Files 0/src/sys/dev/firewire/fwohcivar.h and 1/src/sys/dev/firewire/fwohcivar.h differ
 Files 0/src/sys/dev/firewire/if_fwe.c and 1/src/sys/dev/firewire/if_fwe.c differ
 Files 0/src/sys/dev/firewire/sbp.c and 1/src/sys/dev/firewire/sbp.c differ
 Files 0/src/sys/dev/firewire/sbp_targ.c and 1/src/sys/dev/firewire/sbp_targ.c differ
 
 --------------070009060302070003000500--
Responsible-Changed-From-To: freebsd-i386->simokawa 
Responsible-Changed-By: simokawa 
Responsible-Changed-When: Sun Sep 5 21:45:52 GMT 2004 
Responsible-Changed-Why:  
I'll take care of this. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69218 

From: "Matt" <matt@mattford.net>
To: <freebsd-gnats-submit@FreeBSD.org>, <bfoz@terrandev.com>
Cc:  
Subject: Re: i386/69218: [boot] failure: 4.10-BETA and later do not boot on Asus A7N8X motherboards
Date: Sat, 12 Mar 2005 14:35:04 -0000 (GMT)

 Just to confirm this problem occurs with version 5.3 release. It took me a
 long time to work out this was the problem, not very easy to track down,
 especially since the problem appears to be related to hard disk/CD-ROM
 devices and is in fact firewire related.
 
 

From: Joao Barros <joao.barros@gmail.com>
To: bug-followup@FreeBSD.org, bfoz@terrandev.com
Cc:  
Subject: Re: i386/69218: [boot] failure: 4.10-BETA and later do not boot on Asus A7N8X motherboards
Date: Tue, 13 Sep 2005 23:01:59 +0100

 I can confirm this problem with 5.4 RELEASE and 6.0 BETA4 #0
 As soon as I disable the Firewire adapter in the BIOS the kernel boots fine=
 .
 I once had a 5.x running on this machine but just can't recall the
 exact version.
 
 I'm available to debug the problem if given directions.
 
 --
 Joao Barros
State-Changed-From-To: open->feedback 
State-Changed-By: simokawa 
State-Changed-When: Mon Mar 19 05:02:28 UTC 2007 
State-Changed-Why:  
As far as I can see from the dmesg, this OHCI chip doesn't detect 
a initial bus reset. 
(no "fwohci0: BUS reset" after "fwochi0: Initiate bus reset") 
This is the source of the problem. (broken hardware??) 

A difference of dmesg between 4.9 and 4.10 is "sbp_post_busreset". 
In sbp_post_busreset(), the CAM queue is frozen and 
will be released after bus reset and self-id are detected. 
Because the chip doesn't generate a interrupt, CAM cannot 
continue scanning buses and hangs forever. 

This chip may need more DELAY() in initialization. 

I think the following patch would fix the problem partially 
by preventing call of sbp_post_busreset. 

Index: firewire.c 
=================================================================== 
RCS file: /home/ncvs/src/sys/dev/firewire/firewire.c,v 
retrieving revision 1.84 
diff -u -r1.84 firewire.c 
--- firewire.c	16 Mar 2007 05:39:33 -0000	1.84 
+++ firewire.c	19 Mar 2007 04:39:53 -0000 
@@ -420,7 +420,6 @@ 
bus_generic_attach(dev); 

/* bus_reset */ 
-	fw_busreset(fc); 
fc->ibr(fc); 

return 0; 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69218 
State-Changed-From-To: feedback->suspended 
State-Changed-By: linimon 
State-Changed-When: Sun Mar 2 01:05:23 UTC 2008 
State-Changed-Why:  
Note that feedback was received some time ago. 

Mark as suspended since it does not seem as though this is actively 
being worked on. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69218 
State-Changed-From-To: suspended->suspended 
State-Changed-By: linimon 
State-Changed-When: Wed Jul 3 00:50:32 UTC 2013 
State-Changed-Why:  
commit bit has been taken in for safekeeping. 


Responsible-Changed-From-To: simokawa->freebsd-bugs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Wed Jul 3 00:50:32 UTC 2013 
Responsible-Changed-Why:  

http://www.freebsd.org/cgi/query-pr.cgi?pr=69218 
Responsible-Changed-From-To: freebsd-bugs->freebsd-firewire 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Wed Jul 3 01:37:30 UTC 2013 
Responsible-Changed-Why:  
reclassify and assign. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=69218 
>Unformatted:
