From owner-freebsd-bugs@FreeBSD.ORG Wed Aug 11 17:00:48 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C2B2116A4CE for ; Wed, 11 Aug 2004 17:00:48 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9532343D49 for ; Wed, 11 Aug 2004 17:00:48 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i7BH0m27030317 for ; Wed, 11 Aug 2004 17:00:48 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i7BH0mFP030316; Wed, 11 Aug 2004 17:00:48 GMT (envelope-from gnats) Resent-Date: Wed, 11 Aug 2004 17:00:48 GMT Resent-Message-Id: <200408111700.i7BH0mFP030316@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Joerg Pulz Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E640716A4CE for ; Wed, 11 Aug 2004 17:00:03 +0000 (GMT) Received: from mailhost.frm2.tum.de (mailhost.frm2.tum.de [129.187.179.12]) by mx1.FreeBSD.org (Postfix) with ESMTP id A287243D45 for ; Wed, 11 Aug 2004 17:00:02 +0000 (GMT) (envelope-from Joerg.Pulz@frm2.tum.de) Received: from localhost (mailhost.frm2.tum.de [129.187.179.12]) i7BH01H4092019 for ; Wed, 11 Aug 2004 19:00:02 +0200 (CEST) (envelope-from jpulz@frm2.tum.de) Received: from hades.admin.frm2 (hades.admin.frm2 [172.25.1.10]) i7BH019w092015 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Wed, 11 Aug 2004 19:00:01 +0200 (CEST) (envelope-from jpulz@frm2.tum.de) Received: from hades.admin.frm2 (localhost [127.0.0.1]) by hades.admin.frm2 (8.12.10/8.12.10) with ESMTP id i7BH01wq031924 for ; Wed, 11 Aug 2004 19:00:01 +0200 (CEST) (envelope-from jpulz@frm2.tum.de) Received: (from jpulz@localhost) by hades.admin.frm2 (8.12.10/8.12.10/Submit) id i7BH01J0031923; Wed, 11 Aug 2004 19:00:01 +0200 (CEST) (envelope-from jpulz) Message-Id: <200408111700.i7BH01J0031923@hades.admin.frm2> Date: Wed, 11 Aug 2004 19:00:01 +0200 (CEST) From: Joerg Pulz To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/70315: asr(4) broken on ia64 (not 64bit safe?) X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Joerg Pulz List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Aug 2004 17:00:48 -0000 >Number: 70315 >Category: kern >Synopsis: asr(4) broken on ia64 (not 64bit safe?) >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Aug 11 17:00:48 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Joerg Pulz >Release: FreeBSD 5.2-CURRENT ia64 >Organization: TU-Munich / ZWE FRM-II >Environment: System: FreeBSD ia64-1.admin.frm2 5.2-CURRENT FreeBSD 5.2-CURRENT #6: Wed Aug 11 16:27:52 CEST 2004 admin@ia64-1.admin.frm2:/usr/obj/usr/src/sys/IA64 ia64 kern.osreldate: 502128 >Description: asr(4) driver is broken on ia64 and maybe other 64bit archs i use several Adaptec SCSI RAID 3210S cards with i386 UP and SMP without any problems. a try on ia64 comes with the "boot -v" output in the Fix section. i inserted some "printf's" to get the exact conditions of the error. as the driver is working perfect on i386 it seems to be an 64bit arch related problem. >How-To-Repeat: - ia64 arch + Adaptec SCSI RAID 3210S - boot either 5.2.1-RELEASE-ia64-miniinst.iso or 5.2-20040810-SNAP-ia64-miniinst.iso >Fix: this is the captured 'boot -v' process --- ia64_asr.cap begins here --- PAL Proc at 0xe00000003ff48010 SAL Procat 0xe00000003fec380, GP at0xe0000003ff24b60 SAL: P wake-up vetor: 0xf Platform lock frequeny 13326368 Hz Procesor rati 12/2, Bus atio 1/1, IT ratio 122 ptc.e base=0x0, count1=1, count2=1, stride1=0x0, stride2=0x0 Processor supports 18 Region ID bits Trying VHPT size 0x400000 Putting VHPT at 0x400000 Splitting [0x100000-0x4000000] GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Using ACPI2.0 table at 0xe2000 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 5.2-CURRENT #6: Wed Aug 11 16:27:52 CEST 2004 admin@ia64-1.admin.frm2:/usr/obj/usr/src/sys/IA64 UNWIND: table added: base=e000000004000000, start=e000000004816068, end=e000000004840260 Preloaded elf kernel "/boot/kernel/kernel" at 0xe0000000049c8000. CPU: Merced (799.58-Mhz Itanium) Origin = "GenuineIntel" Revision = 6 Features = 0x0 real memory = 1056538624 (1007 MB) Physical memory chunk(s): 0x00054000 - 0x00087fff, 212992 bytes (26 pages) 0x00100000 - 0x003fffff, 3145728 bytes (384 pages) 0x00800000 - 0x03ffffff, 58720256 bytes (7168 pages) 0x049ca000 - 0x3e0f9fff, 963837952 bytes (117656 pages) 0x3f010000 - 0x3f013fff, 16384 bytes (2 pages) avail memory = 1017888768 (970 MB) FPSWA Revision = 0x10009, Entry = 0xe00000003f16e050 Table 'FACP' at 0xe00000003ffd8070 Table 'APIC' at 0xe00000003ffda000 Local APIC address=0xfee00000 Local APIC entry Local APIC entry I/O APIC entry Interrupt source override entry Bus=0, Source=9, Irq=0x31 Local SAPIC entry ProcessorId=0x0, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0x1, Id=0x3, Eid=0x0 I/O SAPIC entry Id=0x2, InterruptBase=0x0, Address=0xfec00000 MCA: allocated 16384 bytes for state info. SMP: waking up cpu1 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0: SAPIC Id=0, SAPIC Eid=0 (BSP) cpu1: SAPIC Id=3, SAPIC Eid=0 mem: null: random: acpi0: on motherboard acpi0: [GIANT-LOCKED] AcpiOsDerivePciId: bus 0 dev 16 func 0 AcpiOsDerivePciId: bus 5 dev 18 func 1 acpi0: Power Button (fixed) AcpiOsDerivePciId: bus 5 dev 16 func 0 AcpiOsDerivePciId: bus 5 dev 18 func 0 AcpiOsDerivePciId: bus 5 dev 19 func 0 AcpiOsDerivePciId: bus 5 dev 20 func 0 AcpiOsDerivePciId: bus 5 dev 20 func 1 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 ACPI timer looks BAD min = 2, max = 6, width = 4 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xa08-0xa0b on acpi0 cpu0: on acpi0 cpu1: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 ACPI PCI link initial configuration: ACPI PCI link before setting link priority: ACPI PCI link before fixup for boot-disabled links: ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x8086, dev=0x123d, revid=0x01 bus=0, slot=0, func=0 class=08-00-20, hdrtype=0x00, mfdev=0 cmdreg=0x0106, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x08 (2000 ns), maxlat=0x08 (2000 ns) found-> vendor=0x8086, dev=0x7600, revid=0x01 bus=0, slot=3, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x000f, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[20]: type 4, range 32, base 00001070, size 4, enabled found-> vendor=0x8086, dev=0x7601, revid=0x01 bus=0, slot=3, func=1 class=01-01-80, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[20]: type 4, range 32, base 00001040, size 5, enabled pcib0: matched entry for 0.3.INTD (src ) pcib0: device is hardwired to IRQ 47 found-> vendor=0x8086, dev=0x7602, revid=0x01 bus=0, slot=3, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=d, irq=47 map[20]: type 4, range 32, base 00001060, size 4, enabled pcib0: matched entry for 0.3.INTB (src ) pcib0: device is hardwired to IRQ 46 found-> vendor=0x8086, dev=0x7603, revid=0x01 bus=0, slot=3, func=3 class=0c-05-00, hdrtype=0x00, mfdev=0 cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=46 map[10]: type 1, range 32, base fddee000, size 12, enabled map[14]: type 1, range 32, base fddf0000, size 16, enabled pcib0: matched entry for 0.4.INTA (src ) pcib0: device is hardwired to IRQ 45 found-> vendor=0x1013, dev=0x6005, revid=0x01 bus=0, slot=4, func=0 class=04-01-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x20 (960 ns), mingnt=0x04 (1000 ns), maxlat=0x18 (6000 ns) intpin=a, irq=45 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base fddef000, size 12, enabled map[14]: type 4, range 32, base 00001000, size 6, enabled map[18]: type 1, range 32, base fdf00000, size 20, enabled pcib0: matched entry for 0.5.INTA (src ) pcib0: device is hardwired to IRQ 44 found-> vendor=0x8086, dev=0x1229, revid=0x08 bus=0, slot=5, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x0290, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns) intpin=a, irq=44 powerspec 2 supports D0 D1 D2 D3 current D0 found-> vendor=0x8086, dev=0x84e0, revid=0x03 bus=0, slot=16, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) pci0: at device 0.0 (no driver attached) isab0: at device 3.0 on pci0 isa0: on isab0 atapci0: port 0x1070-0x107f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 3.1 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x1070 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1 ata0: at 0x1f0 irq 14 on atapci0 ata0: [MPSAFE] atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 ata1: reset tp1 mask=03 ostat0=50 ostat1=50 ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb ata1-slave: stat=0x00 err=0x01 lsb=0x14 msb=0xeb ata1: reset tp2 stat0=00 stat1=00 devices=0xc ata1: at 0x170 irq 15 on atapci0 ata1: [MPSAFE] uhci0: port 0x1040-0x105f irq 47 at device 3.2 on pci0 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1040 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhub1: Standard Microsystems USB Hub, class 9/0, rev 1.10/0.00, addr 2 uhub1: 4 ports with 4 removable, self powered ichsmb0: port 0x1060-0x106f irq 46 at device 3.3 on pci0 ichsmb0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x1060 ichsmb0: [GIANT-LOCKED] pcm0: mem 0xfddf0000-0xfddfffff,0xfddee000-0xfddeefff irq 45 at device 4.0 on pci0 pcm0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfddee000 pcm0: Reserved 0x10000 bytes for rid 0x14 type 3 at 0xfddf0000 pcm0: [GIANT-LOCKED] pcm0: pcm0: Codec features headphone, 20 bit DAC, 18 bit ADC, 6 bit master volume, Crystal Semi 3D Stereo Enhancement pcm0: Primary codec extended features AMAP pcm0: sndbuf_setmap 3dad6000, 4000; 0xa000000019d3e000 -> 3dad6000 pcm0: sndbuf_setmap 3daba000, 4000; 0xa000000019d42000 -> 3daba000 fxp0: port 0x1000-0x103f mem 0xfdf00000-0xfdffffff,0xfddef000-0xfddeffff irq 44 at device 5.0 on pci0 fxp0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfddef000 fxp0: using memory space register mapping fxp0: PCI IDs: 8086 1229 8086 000c 0008 fxp0: Dynamic Standby mode is disabled miibus0: on fxp0 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: bpf attached fxp0: Ethernet address: 00:03:47:c6:18:78 fxp0: [GIANT-LOCKED] pci0: at device 16.0 (no driver attached) pcib1: on acpi0 ACPI PCI link initial configuration: ACPI PCI link before setting link priority: ACPI PCI link before fixup for boot-disabled links: ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: pci1: on pcib1 pci1: physical bus=1 map[10]: type 1, range 32, base fbffff00, size 8, enabled found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=1, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 cmdreg=0x0002, statreg=0x0200, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=255 pci1: at device 15.0 (no driver attached) pcib2: on acpi0 ACPI PCI link initial configuration: ACPI PCI link before setting link priority: ACPI PCI link before fixup for boot-disabled links: ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: pci2: on pcib2 pci2: physical bus=2 map[10]: type 3, range 32, base f6000000, size 25, enabled pcib2: matched entry for 2.1.INTA (src ) pcib2: device is hardwired to IRQ 31 found-> vendor=0x1044, dev=0xa501, revid=0x01 bus=2, slot=1, func=0 class=0e-00-01, hdrtype=0x00, mfdev=1 cmdreg=0x0106, statreg=0x04b0, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x01 (250 ns), maxlat=0x01 (250 ns) intpin=a, irq=31 powerspec 2 supports D0 D3 current D0 found-> vendor=0x1044, dev=0xa500, revid=0x01 bus=2, slot=1, func=1 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0006, statreg=0x04b0, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 1, range 32, base f3ff7f00, size 8, enabled found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=2, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 cmdreg=0x0002, statreg=0x0200, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=255 asr0: mem 0xf6000000-0xf7ffffff irq 31 at device 1.0 on pci2 asr0: Reserved 0x2000000 bytes for rid 0x10 type 3 at 0xf6000000 -> ASR_resetIOP called -> ASR_initiateCp called -> ASR_initiateCp after DELAY -> ASR_initiateCp before asr_set_frame -> ASR_initiateCp before asr_set_intr -> ASR_initiateCp before asr_set_ToFIFO -> ASR_initiateCp finished -> ASR_getStatus before ASR_initiateCp -> ASR_initiateCp called -> ASR_initiateCp after DELAY -> ASR_initiateCp before asr_set_frame fatal kernel trap (cpu 0): trap vector = 0x1e (Unaligned Reference) cr.iip = 0xe0000000041a7600 cr.ipsr = 0x1010080a2010 (mfl,ic,dt,dfh,rt,cpl=0,it,ri=0,bn) cr.isr = 0x200000000 (code=0,vector=0,w,ei=0) cr.ifa = 0xc0000001f5ffffff curthread = 0xe0000000048c9a60 pid = 0, comm = swapper [thread 0] Stopped at ASR_initiateCp+0x2f0: [M0] st4.rel [r15]=r14 db> where ASR_initiateCp(0xe0000000008d9000, 0xe00000000485d384) at ASR_initiateCp+0x2f0 ASR_getStatus(0xe0000000008d9000, 0xe000000000964300, 0xff, 0xe000000000964383, 0x1, 0xe0000000041ac750, 0x818, 0xe0000000008d9000) at ASR_getStatus+0xd0 asr_attach(0xe0000000001a4700, 0xe00000000090dd00, 0xe000000000964300, 0xe00000000486cec8, 0xff, 0xe00000000485d44c, 0xe0000000008d9018, 0xf6000000) at asr_attach+0xb50 device_attach(0xe0000000001a4700) at device_attach+0x4c0 bus_generic_attach(0xe0000000001a4700, 0xe0000000041985e0, 0x38d, 0xe0000000047d8f00) at bus_generic_attach+0x40 acpi_pci_attach(0xe00000000090dd00, 0xe0000000001a4600, 0xe00000000485e320, 0xe00000000485d478, 0xe0000000043e2aa0, 0x797, 0xe000000004aa0d20) at acpi_pci_attach+0x250 device_attach(0xe00000000090dd00) at device_attach+0x4c0 bus_generic_attach(0xe00000000090dd00, 0xe00000000419b1d0, 0x50e, 0x0) at bus_generic_attach+0x40 acpi_pcib_attach(0xe0000000001a4600, 0xe0000000008c2fa0, 0x2, 0xe0000000001a2000, 0xe00000000485e320) at acpi_pcib_attach+0x1a0 acpi_pcib_acpi_attach(0xe0000000001a4600, 0xe0000000008c2f94, 0xe00000000485d4a8, 0xe0000000008c2f98, 0xe0000000008c2f88, 0xe0000000008c2f80, 0xe0000000043e2aa0, 0x797) at acpi_pcib_acpi_attach+0x370 device_attach(0xe0000000001a4600) at device_attach+0x4c0 bus_generic_attach(0xe0000000001a4600, 0xe0000000041878f0, 0xa9d, 0xe00000000485e0a0) at bus_generic_attach+0x40 acpi_attach(0xe0000000001a2000, 0x4, 0xe0000000048647b8, 0xe00000000485d4e8, 0xe00000000485d4d8, 0xe000000000900248, 0xe000000004794ab0, 0xe000000004786808) at acpi_attach+0xae0 device_attach(0xe0000000001a2000) at device_attach+0x4c0 bus_generic_attach(0xe0000000001a2000) at bus_generic_attach+0x40 nexus_attach(0xe0000000001a2200, 0xe0000000043e2aa0, 0x797, 0xe0000000043e2a70) at nexus_attach+0xd0 device_attach(0xe0000000001a2200) at device_attach+0x4c0 root_bus_configure(0xe0000000001a2200, 0xe000000004728be0, 0x186) at root_bus_configure+0x50 configure(0xe000000004350a60, 0x48b) at configure+0x60 mi_startup(0xe0000000047d2ad0, 0xe0000000048ca280, 0xe0000000048ca288, 0x1, 0xe0000000048ca278, 0xe0000000048ca290, 0xe0000000047448f0, 0x899) at mi_startup+0x2c0 ia64_init(0xe0000000048c9c10) at ia64_init+0xc80 __start() at __start+0xa0 db> --- ia64_asr.cap ends here --- >Release-Note: >Audit-Trail: >Unformatted: