From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 00:03:18 2009 Return-Path: Delivered-To: sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F001F1065670; Sun, 22 Mar 2009 00:03:18 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from smarthost1.sentex.ca (smarthost1.sentex.ca [64.7.153.18]) by mx1.freebsd.org (Postfix) with ESMTP id 99B8A8FC12; Sun, 22 Mar 2009 00:03:18 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from smtp2.sentex.ca (smtp2c.sentex.ca [64.7.153.30]) by smarthost1.sentex.ca (8.14.3/8.14.3) with ESMTP id n2M03EU1023232; Sat, 21 Mar 2009 20:03:14 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by smtp2.sentex.ca (8.14.3/8.14.3) with ESMTP id n2M03EjH021674; Sat, 21 Mar 2009 20:03:14 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: by freebsd-current.sentex.ca (Postfix, from userid 666) id F265E7302F; Sat, 21 Mar 2009 19:03:13 -0500 (EST) Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Message-Id: <20090322000313.F265E7302F@freebsd-current.sentex.ca> Date: Sat, 21 Mar 2009 19:03:13 -0500 (EST) X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on clamscanner2 X-Virus-Status: Clean X-Scanned-By: MIMEDefang 2.64 on 64.7.153.18 Cc: Subject: [head tinderbox] failure on sparc64/sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 00:03:20 -0000 TB --- 2009-03-21 23:27:03 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2009-03-21 23:27:03 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2009-03-21 23:27:03 - cleaning the object tree TB --- 2009-03-21 23:27:27 - cvsupping the source tree TB --- 2009-03-21 23:27:27 - /usr/bin/csup -z -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/sparc64/sparc64/supfile TB --- 2009-03-21 23:27:39 - building world TB --- 2009-03-21 23:27:39 - MAKEOBJDIRPREFIX=/obj TB --- 2009-03-21 23:27:39 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2009-03-21 23:27:39 - TARGET=sparc64 TB --- 2009-03-21 23:27:39 - TARGET_ARCH=sparc64 TB --- 2009-03-21 23:27:39 - TZ=UTC TB --- 2009-03-21 23:27:39 - __MAKE_CONF=/dev/null TB --- 2009-03-21 23:27:39 - cd /src TB --- 2009-03-21 23:27:39 - /usr/bin/make -B buildworld >>> World build started on Sat Mar 21 23:27:41 UTC 2009 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries [...] ===> lib/libpam/libpam (all) ===> lib/libpcap (all) cc -O2 -pipe -DHAVE_CONFIG_H -Dyylval=pcapyylval -I/src/lib/libpcap -I. -D_U_="__attribute__((unused))" -DHAVE_SNPRINTF -DHAVE_VSNPRINTF -DINET6 -DHAVE_NET_PFVAR_H -I/src/lib/libpcap/../../contrib/libpcap -std=gnu99 -fstack-protector -c grammar.c cc -O2 -pipe -DHAVE_CONFIG_H -Dyylval=pcapyylval -I/src/lib/libpcap -I. -D_U_="__attribute__((unused))" -DHAVE_SNPRINTF -DHAVE_VSNPRINTF -DINET6 -DHAVE_NET_PFVAR_H -I/src/lib/libpcap/../../contrib/libpcap -std=gnu99 -fstack-protector -c /src/lib/libpcap/../../contrib/libpcap/pcap-bpf.c /src/lib/libpcap/../../contrib/libpcap/pcap-bpf.c: In function 'pcap_activate_bpf': /src/lib/libpcap/../../contrib/libpcap/pcap-bpf.c:1897: error: 'to_ms' undeclared (first use in this function) /src/lib/libpcap/../../contrib/libpcap/pcap-bpf.c:1897: error: (Each undeclared identifier is reported only once /src/lib/libpcap/../../contrib/libpcap/pcap-bpf.c:1897: error: for each function it appears in.) *** Error code 1 Stop in /src/lib/libpcap. *** Error code 1 Stop in /src/lib. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2009-03-22 00:03:13 - WARNING: /usr/bin/make returned exit code 1 TB --- 2009-03-22 00:03:13 - ERROR: failed to build world TB --- 2009-03-22 00:03:13 - 1677.20 user 186.70 system 2170.06 real http://tinderbox.des.no/tinderbox-head-HEAD-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 00:38:00 2009 Return-Path: Delivered-To: sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7835106566B; Sun, 22 Mar 2009 00:38:00 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from smarthost2.sentex.ca (smarthost2.sentex.ca [205.211.164.50]) by mx1.freebsd.org (Postfix) with ESMTP id 53B588FC0A; Sun, 22 Mar 2009 00:38:00 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from smtp1.sentex.ca (smtp1.sentex.ca [199.212.134.4]) by smarthost2.sentex.ca (8.14.3/8.14.3) with ESMTP id n2M0bwUm048704; Sat, 21 Mar 2009 20:37:58 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by smtp1.sentex.ca (8.14.3/8.14.3) with ESMTP id n2M0bwfw076576; Sat, 21 Mar 2009 20:37:58 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: by freebsd-current.sentex.ca (Postfix, from userid 666) id 8E35B7302F; Sat, 21 Mar 2009 19:37:58 -0500 (EST) Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Message-Id: <20090322003758.8E35B7302F@freebsd-current.sentex.ca> Date: Sat, 21 Mar 2009 19:37:58 -0500 (EST) X-Virus-Scanned: ClamAV 0.94.1/8983/Thu Feb 12 07:48:01 2009 clamav-milter version 0.94.2 on clamscanner2 X-Virus-Status: Clean X-Scanned-By: MIMEDefang 2.64 on 205.211.164.50 Cc: Subject: [head tinderbox] failure on sparc64/sun4v X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 00:38:01 -0000 TB --- 2009-03-22 00:01:15 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2009-03-22 00:01:15 - starting HEAD tinderbox run for sparc64/sun4v TB --- 2009-03-22 00:01:16 - cleaning the object tree TB --- 2009-03-22 00:01:45 - cvsupping the source tree TB --- 2009-03-22 00:01:45 - /usr/bin/csup -z -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/sparc64/sun4v/supfile TB --- 2009-03-22 00:01:59 - building world TB --- 2009-03-22 00:01:59 - MAKEOBJDIRPREFIX=/obj TB --- 2009-03-22 00:01:59 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2009-03-22 00:01:59 - TARGET=sun4v TB --- 2009-03-22 00:01:59 - TARGET_ARCH=sparc64 TB --- 2009-03-22 00:01:59 - TZ=UTC TB --- 2009-03-22 00:01:59 - __MAKE_CONF=/dev/null TB --- 2009-03-22 00:01:59 - cd /src TB --- 2009-03-22 00:01:59 - /usr/bin/make -B buildworld >>> World build started on Sun Mar 22 00:02:00 UTC 2009 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies [...] sed -e 's/yy/ipf_yy/g' -e 's/"ipf_y.y"/"..\/tools\/ipf_y.y"/' y.tab.c > ipf_y.c sed -e 's/yy/ipf_yy/g' y.tab.h > ipf_y.h sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' -e 's/lexer.h/ipf_l.h/' /src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/lexer.c > ipf_l.c rm -f .depend mkdep -f .depend -a -I. -DIPFILTER_BPF -I/src/sbin/ipf/ipf/../../../contrib/ipfilter -I/src/sbin/ipf/ipf/../../../contrib/ipfilter/tools -I/src/sbin/ipf/ipf/../../../sys -I/src/sbin/ipf/ipf/../../../sys/contrib/ipfilter -DSTATETOP -D__UIO_EXPOSE /src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf.c /src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipfcomp.c ipf_y.c ipf_l.c /src/sbin/ipf/ipf/../../../contrib/ipfilter/bpf_filter.c In file included from /src/sbin/ipf/ipf/../../../contrib/ipfilter/tools/ipf_y.y:15: /obj/sun4v/src/tmp/usr/include/pcap.h:74:23: error: pcap/pcap.h: No such file or directory mkdep: compile failed *** Error code 1 Stop in /src/sbin/ipf/ipf. *** Error code 1 Stop in /src/sbin/ipf. *** Error code 1 Stop in /src/sbin. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2009-03-22 00:37:58 - WARNING: /usr/bin/make returned exit code 1 TB --- 2009-03-22 00:37:58 - ERROR: failed to build world TB --- 2009-03-22 00:37:58 - 1852.62 user 209.92 system 2202.52 real http://tinderbox.des.no/tinderbox-head-HEAD-sparc64-sun4v.full From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 09:24:19 2009 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F1771065672; Sun, 22 Mar 2009 09:24:19 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from smtp.fgznet.ch (mail.fgznet.ch [81.92.96.47]) by mx1.freebsd.org (Postfix) with ESMTP id 2021D8FC0A; Sun, 22 Mar 2009 09:24:18 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from wolfram.andreas.nets ([91.190.8.131]) by smtp.fgznet.ch (8.13.8/8.13.8/Submit_SMTPAUTH) with ESMTP id n2M9NrEr000905; Sun, 22 Mar 2009 10:23:53 +0100 (CET) (envelope-from andreast-list@fgznet.ch) Message-ID: <49C603A8.2010805@fgznet.ch> Date: Sun, 22 Mar 2009 10:23:52 +0100 From: Andreas Tobler User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209) MIME-Version: 1.0 To: Marius Strobl References: <49C55EBC.1070602@fgznet.ch> <20090321232030.GA70685@alchemy.franken.de> In-Reply-To: <20090321232030.GA70685@alchemy.franken.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.64 on 81.92.96.47 Cc: freebsd-current , freebsd-sparc64@freebsd.org Subject: Re: kdb enter when upgrading from 7.1 to current. X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 09:24:20 -0000 Marius Strobl wrote: > On Sat, Mar 21, 2009 at 10:40:12PM +0100, Andreas Tobler wrote: >> Hi, >> >> I get this stacktrace when I try to boot from a Kernel as of today (svn: >> 190217). >> >> My setup is a 7.1 install where I'd like to upgrade to current. >> The kernel is built cross, amd64 -> sparc64: >> make -j4 buildkernel TARGET_ARCH=sparc64 KERNCONF=GENERIC >> >> The target machine itself is a u60, details below. >> >> Does anyone have a pointer to help me, would be great! >> >> TIA, >> Andreas >> >> Hit [Enter] to boot immediately, or any other key for command prompt. >> Booting [/boot/kernel/kernel]... >> jumping to kernel entry at 0xc0080000. >> GDB: no debug ports present >> KDB: debugger backends: ddb >> KDB: current backend: ddb >> Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation. >> FreeBSD 8.0-CURRENT #2 r190217M: Sat Mar 21 22:27:46 CET 2009 >> >> andreast@deuterium_fbsd.andreas.nets:/export/devel/obj/sparc64/export/devel/ >> fbsd_svn/src/sys/GENERIC >> WARNING: WITNESS option enabled, expect reduced performance. >> real memory = 1610612736 (1536 MB) >> avail memory = 1554710528 (1482 MB) >> cpu0: Sun Microsystems UltraSparc-II Processor (449.99 MHz CPU) >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> ispfw: registered firmware >> kbd0 at kbdmux0 >> nexus0: >> pcib0: mem >> 0x1fe00004000-0x1fe00005fff,0x1fe01000000-0x1fe0 >> 10000ff,0x1fe00000000-0x1fe0000cfff irq 2033,2030,2031,2021,2024,2034 on >> nexus0 >> pcib0: Psycho, impl 0, version 4, IGN 0x1f, bus B, 33MHz >> initializing counter-timer >> Timecounter "pcib0" frequency 1000000 Hz quality 100 >> pcib0: DVMA map: 0xfc000000 to 0xffffffff, streaming buffer >> pcib0: [FILTER] >> pcib0: [FILTER] >> pcib0: [GIANT-LOCKED] >> pcib0: [ITHREAD] >> pcib0: [GIANT-LOCKED] >> pcib0: [ITHREAD] >> pcib0: [FILTER] >> pci0: on pcib0 >> ebus0: mem >> 0x70000000-0x70ffffff,0x71000000-0x717fffff at dev >> ice 1.0 on pci0 >> auxio0: addr >> 0x1400726000-0x1400726003,0x1400728000-0x140072 >> 8003,0x140072a000-0x140072a003,0x140072c000-0x140072c003,0x140072f000-0x140072f0 >> 03 on ebus0 >> ebus0: addr 0x1400724000-0x1400724003 (no driver attached) >> ebus0: addr 0x1400504000-0x1400504002 (no driver attached) >> ebus0: addr 0x1400500000-0x1400500007 (no driver attached) >> scc0: addr >> 0x1400400000-0x140040007f irq 43 >> on ebus0 >> scc0: [FILTER] >> uart0: on scc0 >> uart0: [FILTER] >> uart0: CTS oflow >> uart0: console (9600,n,8,1) >> uart1: on scc0 >> uart1: [FILTER] >> uart1: CTS oflow >> uart2: <16550 or compatible> addr 0x14003083f8-0x14003083ff irq 41 on ebus0 >> uart2: [FILTER] >> uart2: keyboard (1200,n,8,1) >> uart2: keyboard not present >> uart3: <16550 or compatible> addr 0x14003062f8-0x14003062ff irq 42 on ebus0 >> uart3: [FILTER] >> ebus0: addr >> 0x14003043bc-0x14003043cb,0x1400300398-0x1400300399,0x1400700 >> 000-0x140070000f irq 34 (no driver attached) >> ebus0: addr >> 0x14003023f0-0x14003023f7,0x1400706000-0x140070600f,0x1400 >> 720000-0x1400720003 irq 39 (no driver attached) >> eeprom0: addr 0x1400000000-0x1400001fff on ebus0 >> eeprom0: model mk48t59 >> ebus0: addr 0x1000000000-0x10000fffff (no driver attached) >> ebus0: addr >> 0x1400200000-0x14002000ff,0x1400702000-0x140070200f,0x >> 1400704000-0x140070400f,0x1400722000-0x1400722003 irq 35,36 (no driver >> attached) >> hme0: mem 0x100000-0x107fff at device 1.1 on pci0 >> miibus0: on hme0 >> qsphy0: PHY 1 on miibus0 >> qsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto >> hme0: Ethernet address: 08:00:20:a3:71:69 >> hme0: [ITHREAD] >> sym0: <875> port 0x1000-0x10ff mem 0x108000-0x1080ff,0x10a000-0x10afff >> at device >> 3.0 on pci0 >> sym0: No NVRAM, ID 7, Fast-20, SE, parity checking >> sym0: [ITHREAD] >> sym1: <875> port 0x1400-0x14ff mem 0x10c000-0x10c0ff,0x10e000-0x10efff >> at device >> 3.1 on pci0 >> sym1: No NVRAM, ID 7, Fast-20, SE, parity checking >> sym1: [ITHREAD] >> pcib1: mem >> 0x1fe00002000-0x1fe00003fff,0x1fe01800000-0x1fe0 >> 18000ff,0x1fe00000000-0x1fe0000cfff irq 2032,2030,2031,2021,2024,2034 on >> nexus0 >> pcib1: Psycho, impl 0, version 4, IGN 0x1f, bus A, 66MHz >> pcib1: [FILTER] >> pci1: on pcib1 >> pci1: at device 1.0 (no driver attached) >> creator0: mem >> 0x1fc00000000-0x1fc000003ff,0x1fc00400000-0x1fc005ffff >> f,0x1fc00600000-0x1fc007fffff,0x1fc01000000-0x1fc013fffff,0x1fc01400000-0x1fc017 >> fffff,0x1fc01800000-0x1fc01bfffff,0x1fc01c00000-0x1fc01ffffff,0x1fc02000000-0x1f >> c02ffffff,0x1fc03000000-0x1fc03ffffff,0x1fc04000000-0x1fc043fffff,0x1fc04400000- >> 0x1fc047fffff,0x1fc04800000-0x1fc04bfffff,0x1fc04c00000-0x1fc04ffffff,0x1fc05000 >> 000-0x1fc05ffffff,0x1fc06000000-0x1fc07ffffff,0x1fc09000000-0x1fc097fffff,0x1fc0 >> 9800000-0x1fc09ffffff,0x1fc0a000000-0x1fc0affffff,0x1fc0b000000-0x1fc0b7fffff,0x >> 1fc0b800000-0x1fc0bffffff,0x1fc0c000000-0x1fc0c3fffff,0x1fc0c800000-0x1fc0cfffff >> f,0x1fc0d000000-0x1fc0d7fffff,0x1fc0d800000-0x1fc0dffffff irq 1925 on nexus0 >> creator0: resolution 1152x900 >> syscons0: on nexus0 >> syscons0: Unknown <16 virtual consoles, flags=0x100> >> Timecounter "tick" frequency 449992390 Hz quality 1000 >> Timecounters tick every 1.000 msec >> Waiting 5 seconds for SCSI devices to settle >> (probe6:sym0:0:6:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 >> (probe6:sym0:0:6:0): CAM Status: SCSI Status Error >> (probe6:sym0:0:6:0): SCSI Status: Check Condition >> (probe6:sym0:0:6:0): NOT READY asc:3a,0 >> (probe6:sym0:0:6:0): Medium not present >> (probe6:sym0:0:6:0): Unretryable error >> da1 at sym0 bus 0 target 1 lun 0 >> da1: Fixed Direct Access SCSI-2 device >> da1: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) >> da1: Command Queueing Enabled >> da1: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) >> da0 at sym0 bus 0 target 0 lun 0 >> da0: Fixed Direct Access SCSI-2 device >> da0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) >> da0: Command Queueing Enabled >> da0: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) >> cd0 at sym0 bus 0 target 6 lun 0 >> cd0: Removable CD-ROM SCSI-2 device >> cd0: 10.000MB/s transfers (10.000MHz, offset 16) >> cd0: Attempt to query device size failed: NOT READY, Medium not present >> WARNING: WITNESS option enabled, expect reduced performance. >> GEOM: da0: adding VTOC8 information. >> GEOM: da1: adding VTOC8 information. >> Trying to mount root from ufs:/dev/da0a >> Loading configuration files. >> kernel dumps on /dev/da0b >> Entropy harvesting: interrupts ethernet point_to_pointpanic: trap: >> memory addres >> s not aligned >> cpuid = 0 >> KDB: enter: panic >> [thread pid 41 tid 100042 ] >> Stopped at kdb_enter+0x80: ta %xcc, 1 >> db> >> db> bt >> Tracing pid 41 tid 100042 td 0xfffff800213dc370 >> panic() at panic+0x20c >> trap() at trap+0x570 >> -- memory address not aligned sfar=0xf2fe2877 sfsr=0x40029 %o7=0xc06654b8 -- >> stack_capture() at stack_capture+0x114 >> stack_save_td() at stack_save_td+0x60 >> sysctl_kern_proc_kstack() at sysctl_kern_proc_kstack+0x36c >> sysctl_root() at sysctl_root+0x1ec >> userland_sysctl() at userland_sysctl+0x174 >> __sysctl() at __sysctl+0x70 >> syscall() at syscall+0x2f0 >> -- syscall (202, FreeBSD ELF64, __sysctl) %o7=0x101628 -- >> userland() at 0x40445788 >> user trace: trap %o7=0x101628 >> pc 0x40445788, sp 0x7fdffffd031 >> pc 0x101ef8, sp 0x7fdffffd971 >> pc 0x102ac4, sp 0x7fdffffdaf1 >> pc 0x100ef0, sp 0x7fdffffe451 >> pc 0x40208094, sp 0x7fdffffe511 >> done > > Hrm, this looks like the problem solved with r184376. Do you > cross-compile with a GCC older than 4.2 maybe? No, I cross compile on current. cc -v: Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] I continue. Thx, Andreas From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 20:35:51 2009 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A6CE106564A; Sun, 22 Mar 2009 20:35:51 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from smtp.fgznet.ch (mail.fgznet.ch [81.92.96.47]) by mx1.freebsd.org (Postfix) with ESMTP id 802018FC12; Sun, 22 Mar 2009 20:35:49 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from wolfram.andreas.nets ([91.190.8.131]) by smtp.fgznet.ch (8.13.8/8.13.8/Submit_SMTPAUTH) with ESMTP id n2MKZMLv065384; Sun, 22 Mar 2009 21:35:22 +0100 (CET) (envelope-from andreast-list@fgznet.ch) Message-ID: <49C6A109.3040508@fgznet.ch> Date: Sun, 22 Mar 2009 21:35:21 +0100 From: Andreas Tobler User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209) MIME-Version: 1.0 To: Marius Strobl References: <49C55EBC.1070602@fgznet.ch> <20090321232030.GA70685@alchemy.franken.de> <49C603A8.2010805@fgznet.ch> In-Reply-To: <49C603A8.2010805@fgznet.ch> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.64 on 81.92.96.47 Cc: freebsd-current , freebsd-sparc64@freebsd.org Subject: Re: kdb enter when upgrading from 7.1 to current. X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 20:35:51 -0000 Andreas Tobler wrote: > Marius Strobl wrote: >> On Sat, Mar 21, 2009 at 10:40:12PM +0100, Andreas Tobler wrote: >>> Hi, >>> >>> I get this stacktrace when I try to boot from a Kernel as of today >>> (svn: 190217). >>> >>> My setup is a 7.1 install where I'd like to upgrade to current. >>> The kernel is built cross, amd64 -> sparc64: >>> make -j4 buildkernel TARGET_ARCH=sparc64 KERNCONF=GENERIC >>> >>> The target machine itself is a u60, details below. >>> >>> Does anyone have a pointer to help me, would be great! >>> >>> TIA, >>> Andreas >>> >>> Hit [Enter] to boot immediately, or any other key for command prompt. >>> Booting [/boot/kernel/kernel]... >>> jumping to kernel entry at 0xc0080000. >>> GDB: no debug ports present >>> KDB: debugger backends: ddb >>> KDB: current backend: ddb >>> Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation. >>> FreeBSD 8.0-CURRENT #2 r190217M: Sat Mar 21 22:27:46 CET 2009 >>> >>> andreast@deuterium_fbsd.andreas.nets:/export/devel/obj/sparc64/export/devel/ >>> >>> fbsd_svn/src/sys/GENERIC >>> WARNING: WITNESS option enabled, expect reduced performance. >>> real memory = 1610612736 (1536 MB) >>> avail memory = 1554710528 (1482 MB) >>> cpu0: Sun Microsystems UltraSparc-II Processor (449.99 MHz CPU) >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> ispfw: registered firmware >>> kbd0 at kbdmux0 >>> nexus0: >>> pcib0: mem >>> 0x1fe00004000-0x1fe00005fff,0x1fe01000000-0x1fe0 >>> 10000ff,0x1fe00000000-0x1fe0000cfff irq 2033,2030,2031,2021,2024,2034 >>> on nexus0 >>> pcib0: Psycho, impl 0, version 4, IGN 0x1f, bus B, 33MHz >>> initializing counter-timer >>> Timecounter "pcib0" frequency 1000000 Hz quality 100 >>> pcib0: DVMA map: 0xfc000000 to 0xffffffff, streaming buffer >>> pcib0: [FILTER] >>> pcib0: [FILTER] >>> pcib0: [GIANT-LOCKED] >>> pcib0: [ITHREAD] >>> pcib0: [GIANT-LOCKED] >>> pcib0: [ITHREAD] >>> pcib0: [FILTER] >>> pci0: on pcib0 >>> ebus0: mem >>> 0x70000000-0x70ffffff,0x71000000-0x717fffff at dev >>> ice 1.0 on pci0 >>> auxio0: addr >>> 0x1400726000-0x1400726003,0x1400728000-0x140072 >>> 8003,0x140072a000-0x140072a003,0x140072c000-0x140072c003,0x140072f000-0x140072f0 >>> >>> 03 on ebus0 >>> ebus0: addr 0x1400724000-0x1400724003 (no driver attached) >>> ebus0: addr 0x1400504000-0x1400504002 (no driver attached) >>> ebus0: addr 0x1400500000-0x1400500007 (no driver attached) >>> scc0: addr >>> 0x1400400000-0x140040007f irq 43 >>> on ebus0 >>> scc0: [FILTER] >>> uart0: on scc0 >>> uart0: [FILTER] >>> uart0: CTS oflow >>> uart0: console (9600,n,8,1) >>> uart1: on scc0 >>> uart1: [FILTER] >>> uart1: CTS oflow >>> uart2: <16550 or compatible> addr 0x14003083f8-0x14003083ff irq 41 on >>> ebus0 >>> uart2: [FILTER] >>> uart2: keyboard (1200,n,8,1) >>> uart2: keyboard not present >>> uart3: <16550 or compatible> addr 0x14003062f8-0x14003062ff irq 42 on >>> ebus0 >>> uart3: [FILTER] >>> ebus0: addr >>> 0x14003043bc-0x14003043cb,0x1400300398-0x1400300399,0x1400700 >>> 000-0x140070000f irq 34 (no driver attached) >>> ebus0: addr >>> 0x14003023f0-0x14003023f7,0x1400706000-0x140070600f,0x1400 >>> 720000-0x1400720003 irq 39 (no driver attached) >>> eeprom0: addr 0x1400000000-0x1400001fff on ebus0 >>> eeprom0: model mk48t59 >>> ebus0: addr 0x1000000000-0x10000fffff (no driver attached) >>> ebus0: addr >>> 0x1400200000-0x14002000ff,0x1400702000-0x140070200f,0x >>> 1400704000-0x140070400f,0x1400722000-0x1400722003 irq 35,36 (no >>> driver attached) >>> hme0: mem 0x100000-0x107fff at device 1.1 >>> on pci0 >>> miibus0: on hme0 >>> qsphy0: PHY 1 on miibus0 >>> qsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto >>> hme0: Ethernet address: 08:00:20:a3:71:69 >>> hme0: [ITHREAD] >>> sym0: <875> port 0x1000-0x10ff mem >>> 0x108000-0x1080ff,0x10a000-0x10afff at device >>> 3.0 on pci0 >>> sym0: No NVRAM, ID 7, Fast-20, SE, parity checking >>> sym0: [ITHREAD] >>> sym1: <875> port 0x1400-0x14ff mem >>> 0x10c000-0x10c0ff,0x10e000-0x10efff at device >>> 3.1 on pci0 >>> sym1: No NVRAM, ID 7, Fast-20, SE, parity checking >>> sym1: [ITHREAD] >>> pcib1: mem >>> 0x1fe00002000-0x1fe00003fff,0x1fe01800000-0x1fe0 >>> 18000ff,0x1fe00000000-0x1fe0000cfff irq 2032,2030,2031,2021,2024,2034 >>> on nexus0 >>> pcib1: Psycho, impl 0, version 4, IGN 0x1f, bus A, 66MHz >>> pcib1: [FILTER] >>> pci1: on pcib1 >>> pci1: at device 1.0 (no driver attached) >>> creator0: mem >>> 0x1fc00000000-0x1fc000003ff,0x1fc00400000-0x1fc005ffff >>> f,0x1fc00600000-0x1fc007fffff,0x1fc01000000-0x1fc013fffff,0x1fc01400000-0x1fc017 >>> >>> fffff,0x1fc01800000-0x1fc01bfffff,0x1fc01c00000-0x1fc01ffffff,0x1fc02000000-0x1f >>> >>> c02ffffff,0x1fc03000000-0x1fc03ffffff,0x1fc04000000-0x1fc043fffff,0x1fc04400000- >>> >>> 0x1fc047fffff,0x1fc04800000-0x1fc04bfffff,0x1fc04c00000-0x1fc04ffffff,0x1fc05000 >>> >>> 000-0x1fc05ffffff,0x1fc06000000-0x1fc07ffffff,0x1fc09000000-0x1fc097fffff,0x1fc0 >>> >>> 9800000-0x1fc09ffffff,0x1fc0a000000-0x1fc0affffff,0x1fc0b000000-0x1fc0b7fffff,0x >>> >>> 1fc0b800000-0x1fc0bffffff,0x1fc0c000000-0x1fc0c3fffff,0x1fc0c800000-0x1fc0cfffff >>> >>> f,0x1fc0d000000-0x1fc0d7fffff,0x1fc0d800000-0x1fc0dffffff irq 1925 on >>> nexus0 >>> creator0: resolution 1152x900 >>> syscons0: on nexus0 >>> syscons0: Unknown <16 virtual consoles, flags=0x100> >>> Timecounter "tick" frequency 449992390 Hz quality 1000 >>> Timecounters tick every 1.000 msec >>> Waiting 5 seconds for SCSI devices to settle >>> (probe6:sym0:0:6:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 >>> (probe6:sym0:0:6:0): CAM Status: SCSI Status Error >>> (probe6:sym0:0:6:0): SCSI Status: Check Condition >>> (probe6:sym0:0:6:0): NOT READY asc:3a,0 >>> (probe6:sym0:0:6:0): Medium not present >>> (probe6:sym0:0:6:0): Unretryable error >>> da1 at sym0 bus 0 target 1 lun 0 >>> da1: Fixed Direct Access SCSI-2 device >>> da1: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) >>> da1: Command Queueing Enabled >>> da1: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) >>> da0 at sym0 bus 0 target 0 lun 0 >>> da0: Fixed Direct Access SCSI-2 device >>> da0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) >>> da0: Command Queueing Enabled >>> da0: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) >>> cd0 at sym0 bus 0 target 6 lun 0 >>> cd0: Removable CD-ROM SCSI-2 device >>> cd0: 10.000MB/s transfers (10.000MHz, offset 16) >>> cd0: Attempt to query device size failed: NOT READY, Medium not present >>> WARNING: WITNESS option enabled, expect reduced performance. >>> GEOM: da0: adding VTOC8 information. >>> GEOM: da1: adding VTOC8 information. >>> Trying to mount root from ufs:/dev/da0a >>> Loading configuration files. >>> kernel dumps on /dev/da0b >>> Entropy harvesting: interrupts ethernet point_to_pointpanic: trap: >>> memory addres >>> s not aligned >>> cpuid = 0 >>> KDB: enter: panic >>> [thread pid 41 tid 100042 ] >>> Stopped at kdb_enter+0x80: ta %xcc, 1 >>> db> >>> db> bt >>> Tracing pid 41 tid 100042 td 0xfffff800213dc370 >>> panic() at panic+0x20c >>> trap() at trap+0x570 >>> -- memory address not aligned sfar=0xf2fe2877 sfsr=0x40029 >>> %o7=0xc06654b8 -- >>> stack_capture() at stack_capture+0x114 >>> stack_save_td() at stack_save_td+0x60 >>> sysctl_kern_proc_kstack() at sysctl_kern_proc_kstack+0x36c >>> sysctl_root() at sysctl_root+0x1ec >>> userland_sysctl() at userland_sysctl+0x174 >>> __sysctl() at __sysctl+0x70 >>> syscall() at syscall+0x2f0 >>> -- syscall (202, FreeBSD ELF64, __sysctl) %o7=0x101628 -- >>> userland() at 0x40445788 >>> user trace: trap %o7=0x101628 >>> pc 0x40445788, sp 0x7fdffffd031 >>> pc 0x101ef8, sp 0x7fdffffd971 >>> pc 0x102ac4, sp 0x7fdffffdaf1 >>> pc 0x100ef0, sp 0x7fdffffe451 >>> pc 0x40208094, sp 0x7fdffffe511 >>> done >> >> Hrm, this looks like the problem solved with r184376. Do you >> cross-compile with a GCC older than 4.2 maybe? > > No, I cross compile on current. cc -v: > > Using built-in specs. > Target: amd64-undermydesk-freebsd > Configured with: FreeBSD/amd64 system compiler > Thread model: posix > gcc version 4.2.1 20070719 [FreeBSD] > > I continue. It is a bit strange. I built a kernel with the native tools on the u60, same picture. Then I opened the machine and removed the 375-3116, a SunPCi III 1.4GHz Co-Processor Card. Rebooted again. Bingo boots fine. To be sure it is the card I retried again with the Co-Processor Card in and now it boots fine with a fresh built kernel..... Strange. Here the pciconf -lcv of the card: none0@pci1:128:1:0: class=0x068000 card=0x676a108e chip=0xb5558086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = '21555 Non-Transparent PCI-to-PCI Bridge' class = bridge cap 01[dc] = powerspec 0 supports D0 D3 current D0 cap 03[e4] = VPD cap 06[ec] = unknown Well, for now I'm fine and continue with crossbuilding. Thanks for the ear. Andreas From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 21:40:06 2009 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51C7210656CE for ; Sun, 22 Mar 2009 21:40:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3F80E8FC1B for ; Sun, 22 Mar 2009 21:40:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MLe60a064889 for ; Sun, 22 Mar 2009 21:40:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n2MLe61K064888; Sun, 22 Mar 2009 21:40:06 GMT (envelope-from gnats) Date: Sun, 22 Mar 2009 21:40:06 GMT Message-Id: <200903222140.n2MLe61K064888@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: sparc64/131371: commit references a PR X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 21:40:06 -0000 The following reply was made to PR sparc64/131371; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: sparc64/131371: commit references a PR Date: Sun, 22 Mar 2009 21:38:45 +0000 (UTC) Author: marius Date: Sun Mar 22 21:38:24 2009 New Revision: 190290 URL: http://svn.freebsd.org/changeset/base/190290 Log: MFC: r190109 - Ensure we find no unexpected partner. - Failing to register as interrupt controller during attach shouldn't be fatal so just inform about this instead of panicing. - Disable rerun of the streaming cache as workaround for a silicon bug of certain Psycho versions. - Remove the comment regarding lack of newbus'ified bus_dma(9) as being able to associate a DMA tag with a device would allow to implement CDMA flushing/syncing in bus_dmamap_sync(9) but that would totally kill performance. Given that for devices not behind a PCI-PCI bridge the host-to-PCI bridges also only do CDMA flushing/syncing based on interrupts there's no additional disadvantage for polling(4) callbacks in the case schizo(4) has to do the CDMA flushing/syncing but rather a general problem. - Don't panic if the power failure, power management or over-temperature interrupts doesn't exist as these aren't mandatory and not available with all controllers (not even Psychos). [1] - Take advantage of KOBJMETHOD_END. - Remove some redundant variables. - Add missing const. PR: 131371 [1] Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/sparc64/pci/psycho.c stable/7/sys/sparc64/pci/psychovar.h Modified: stable/7/sys/sparc64/pci/psycho.c ============================================================================== --- stable/7/sys/sparc64/pci/psycho.c Sun Mar 22 21:31:02 2009 (r190289) +++ stable/7/sys/sparc64/pci/psycho.c Sun Mar 22 21:38:24 2009 (r190290) @@ -84,7 +84,7 @@ static void psycho_set_intr(struct psych driver_filter_t, driver_intr_t); static int psycho_find_intrmap(struct psycho_softc *, u_int, bus_addr_t *, bus_addr_t *, u_long *); -static driver_filter_t psycho_dmasync; +static driver_filter_t psycho_dma_sync_stub; static void psycho_intr_enable(void *); static void psycho_intr_disable(void *); static void psycho_intr_assign(void *); @@ -151,7 +151,7 @@ static device_method_t psycho_methods[] /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_node, psycho_get_node), - { 0, 0 } + KOBJMETHOD_END }; static devclass_t psycho_devclass; @@ -176,7 +176,7 @@ struct psycho_icarg { bus_addr_t pica_clr; }; -struct psycho_dmasync { +struct psycho_dma_sync { struct psycho_softc *pds_sc; driver_filter_t *pds_handler; /* handler to call */ void *pds_arg; /* argument for the handler */ @@ -233,14 +233,14 @@ struct psycho_desc { const char *pd_name; }; -static const struct psycho_desc psycho_compats[] = { +static const struct psycho_desc const psycho_compats[] = { { "pci108e,8000", PSYCHO_MODE_PSYCHO, "Psycho compatible" }, { "pci108e,a000", PSYCHO_MODE_SABRE, "Sabre compatible" }, { "pci108e,a001", PSYCHO_MODE_SABRE, "Hummingbird compatible" }, { NULL, 0, NULL } }; -static const struct psycho_desc psycho_models[] = { +static const struct psycho_desc const psycho_models[] = { { "SUNW,psycho", PSYCHO_MODE_PSYCHO, "Psycho" }, { "SUNW,sabre", PSYCHO_MODE_SABRE, "Sabre" }, { NULL, 0, NULL } @@ -297,8 +297,8 @@ psycho_attach(device_t dev) phandle_t child, node; uint32_t dvmabase, prop, prop_array[2]; int32_t rev; - u_int ver; - int i, n, nrange, rid; + u_int rerun, ver; + int i, n; node = ofw_bus_get_node(dev); sc = device_get_softc(dev); @@ -316,7 +316,7 @@ psycho_attach(device_t dev) * (2) the shared Psycho configuration registers */ if (sc->sc_mode == PSYCHO_MODE_PSYCHO) { - rid = 2; + i = 2; sc->sc_pcictl = bus_get_resource_start(dev, SYS_RES_MEMORY, 0) - bus_get_resource_start(dev, SYS_RES_MEMORY, 2); @@ -333,18 +333,18 @@ psycho_attach(device_t dev) /* NOTREACHED */ } } else { - rid = 0; + i = 0; sc->sc_pcictl = PSR_PCICTL0; sc->sc_half = 0; } - sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, + sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &i, (sc->sc_mode == PSYCHO_MODE_PSYCHO ? RF_SHAREABLE : 0) | RF_ACTIVE); if (sc->sc_mem_res == NULL) panic("%s: could not allocate registers", __func__); /* - * Match other Psycho's that are already configured against + * Match other Psychos that are already configured against * the base physical address. This will be the same for a * pair of devices that share register space. */ @@ -364,6 +364,8 @@ psycho_attach(device_t dev) panic("%s: could not malloc mutex", __func__); mtx_init(sc->sc_mtx, "pcib_mtx", NULL, MTX_SPIN); } else { + if (sc->sc_mode != PSYCHO_MODE_PSYCHO) + panic("%s: no partner expected", __func__); if (mtx_initialized(osc->sc_mtx) == 0) panic("%s: mutex not initialized", __func__); sc->sc_mtx = osc->sc_mtx; @@ -409,16 +411,17 @@ psycho_attach(device_t dev) case 0: dr |= DIAG_RTRY_DIS; dr &= ~DIAG_DWSYNC_DIS; - /* XXX need to also disable rerun of the streaming buffers. */ + rerun = 0; break; case 1: csr &= ~PCICTL_ARB_PARK; dr |= DIAG_RTRY_DIS | DIAG_DWSYNC_DIS; - /* XXX need to also disable rerun of the streaming buffers. */ + rerun = 0; break; default: dr |= DIAG_DWSYNC_DIS; dr &= ~DIAG_RTRY_DIS; + rerun = 1; break; } @@ -461,13 +464,12 @@ psycho_attach(device_t dev) rman_manage_region(&sc->sc_pci_mem_rman, 0, PSYCHO_MEM_SIZE) != 0) panic("%s: failed to set up memory rman", __func__); - nrange = OF_getprop_alloc(node, "ranges", sizeof(*range), - (void **)&range); + n = OF_getprop_alloc(node, "ranges", sizeof(*range), (void **)&range); /* * Make sure that the expected ranges are present. The * OFW_PCI_CS_MEM64 one is not currently used though. */ - if (nrange != PSYCHO_NRANGE) + if (n != PSYCHO_NRANGE) panic("%s: unsupported number of ranges", __func__); /* * Find the addresses of the various bus spaces. @@ -494,7 +496,8 @@ psycho_attach(device_t dev) /* * Hunt through all the interrupt mapping regs and register * our interrupt controller for the corresponding interrupt - * vectors. + * vectors. We do this early in order to be able to catch + * stray interrupts. */ for (n = 0; n <= PSYCHO_MAX_INO; n++) { if (psycho_find_intrmap(sc, n, &intrmap, &intrclr, @@ -524,22 +527,23 @@ psycho_attach(device_t dev) INTMAP_ENABLE(INTMAP_VEC(sc->sc_ign, n), PCPU_GET(mid))); #endif - if (intr_controller_register(INTMAP_VEC(sc->sc_ign, n), - &psycho_ic, pica) != 0) - panic("%s: could not register interrupt " - "controller for INO %d", __func__, n); + i = intr_controller_register(INTMAP_VEC(sc->sc_ign, n), + &psycho_ic, pica); + if (i != 0) + device_printf(dev, "could not register " + "interrupt controller for INO %d (%d)\n", + n, i); } - if (sc->sc_mode == PSYCHO_MODE_PSYCHO) { - /* Initialize the counter-timer. */ + if (sc->sc_mode == PSYCHO_MODE_PSYCHO) sparc64_counter_init(device_get_nameunit(dev), rman_get_bustag(sc->sc_mem_res), rman_get_bushandle(sc->sc_mem_res), PSR_TC0); - } /* * Set up IOMMU and PCI configuration if we're the first - * of a pair of Psycho's to arrive here. + * of a pair of Psychos to arrive here or a Hummingbird + * or Sabre. * * We should calculate a TSB size based on amount of RAM * and number of bus controllers and number and type of @@ -557,10 +561,10 @@ psycho_attach(device_t dev) else sc->sc_is->is_pmaxaddr = IOMMU_MAXADDR(PSYCHO_IOMMU_BITS); - sc->sc_is->is_sb[0] = 0; - sc->sc_is->is_sb[1] = 0; + sc->sc_is->is_sb[0] = sc->sc_is->is_sb[1] = 0; if (OF_getproplen(node, "no-streaming-cache") < 0) sc->sc_is->is_sb[0] = sc->sc_pcictl + PCR_STRBUF; + sc->sc_is->is_flags |= (rerun != 1) ? IOMMU_RERUN_DISABLE : 0; psycho_iommu_init(sc, 3, dvmabase); } else { /* Just copy IOMMU state, config tag and address. */ @@ -695,12 +699,20 @@ psycho_set_intr(struct psycho_softc *sc, rid = index; sc->sc_irq_res[index] = bus_alloc_resource_any(sc->sc_dev, SYS_RES_IRQ, &rid, RF_ACTIVE); + if (sc->sc_irq_res[index] == NULL && intrmap >= PSR_POWER_INT_MAP) { + /* + * These interrupts aren't mandatory and not available + * with all controllers (not even Psychos). + */ + return; + } if (sc->sc_irq_res[index] == NULL || INTIGN(vec = rman_get_start(sc->sc_irq_res[index])) != sc->sc_ign || INTVEC(PSYCHO_READ8(sc, intrmap)) != vec || intr_vectors[vec].iv_ic != &psycho_ic || - bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], INTR_TYPE_MISC, - filt, intr, sc, &sc->sc_ihand[index]) != 0) + bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], + INTR_TYPE_MISC | INTR_FAST, filt, intr, sc, + &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } @@ -1066,9 +1078,9 @@ psycho_read_ivar(device_t dev, device_t } static int -psycho_dmasync(void *arg) +psycho_dma_sync_stub(void *arg) { - struct psycho_dmasync *pds = arg; + struct psycho_dma_sync *pds = arg; (void)PCIB_READ_CONFIG(pds->pds_ppb, pds->pds_bus, pds->pds_slot, pds->pds_func, PCIR_VENDOR, 2); @@ -1126,7 +1138,7 @@ psycho_setup_intr(device_t dev, device_t devclass_t pci_devclass; device_t cdev, pdev, pcidev; struct psycho_softc *sc; - struct psycho_dmasync *pds; + struct psycho_dma_sync *pds; u_long vec; int error; @@ -1143,17 +1155,12 @@ psycho_setup_intr(device_t dev, device_t } /* - * The Sabre-APB-combination has a bug where it does not drain - * DMA write data for devices behind additional PCI-PCI bridges - * underneath the APB PCI-PCI bridge. The workaround is to do - * a read on the farest PCI-PCI bridge followed by a read of the - * PCI DMA write sync register of the Sabre. - * XXX installing the wrapper for an affected device and the - * actual workaround in psycho_dmasync() should be moved to - * psycho(4)-specific bus_dma_tag_create() and bus_dmamap_sync() - * methods, respectively, once DMA tag creation is newbus'ified, - * so the workaround isn't only applied for interrupt handlers - * but also for polling(4) callbacks. + * The Sabre-APB-combination does not automatically flush DMA + * write data for devices behind additional PCI-PCI bridges + * underneath the APB PCI-PCI bridge. The procedure for a + * manual flush is to do a PIO read on the far side of the + * farthest PCI-PCI bridge followed by a read of the PCI DMA + * write sync register of the Sabre. */ if (sc->sc_mode == PSYCHO_MODE_SABRE) { pds = malloc(sizeof(*pds), M_DEVBUF, M_NOWAIT | M_ZERO); @@ -1192,20 +1199,20 @@ psycho_setup_intr(device_t dev, device_t pds->pds_func = pci_get_function(pcidev); if (bootverbose) device_printf(dev, "installed DMA sync " - "workaround for device %d.%d on bus %d\n", + "wrapper for device %d.%d on bus %d\n", pds->pds_slot, pds->pds_func, pds->pds_bus); if (intr == NULL) { pds->pds_handler = filt; error = bus_generic_setup_intr(dev, child, - ires, flags, psycho_dmasync, intr, pds, - cookiep); + ires, flags, psycho_dma_sync_stub, intr, + pds, cookiep); } else { pds->pds_handler = (driver_filter_t *)intr; error = bus_generic_setup_intr(dev, child, ires, flags, filt, - (driver_intr_t *)psycho_dmasync, pds, - cookiep); + (driver_intr_t *)psycho_dma_sync_stub, + pds, cookiep); } } else error = bus_generic_setup_intr(dev, child, ires, @@ -1227,7 +1234,7 @@ psycho_teardown_intr(device_t dev, devic void *cookie) { struct psycho_softc *sc; - struct psycho_dmasync *pds; + struct psycho_dma_sync *pds; int error; sc = device_get_softc(dev); @@ -1315,8 +1322,8 @@ psycho_activate_resource(device_t bus, d type, rid, r)); if (type == SYS_RES_MEMORY) { /* - * Need to memory-map the device space, as some drivers depend - * on the virtual address being set and useable. + * Need to memory-map the device space, as some drivers + * depend on the virtual address being set and usable. */ error = sparc64_bus_mem_map(rman_get_bustag(r), rman_get_bushandle(r), rman_get_size(r), 0, 0, &p); Modified: stable/7/sys/sparc64/pci/psychovar.h ============================================================================== --- stable/7/sys/sparc64/pci/psychovar.h Sun Mar 22 21:31:02 2009 (r190289) +++ stable/7/sys/sparc64/pci/psychovar.h Sun Mar 22 21:38:24 2009 (r190290) @@ -49,8 +49,8 @@ struct psycho_softc { phandle_t sc_node; /* Firmware node */ u_int sc_mode; -#define PSYCHO_MODE_SABRE 1 -#define PSYCHO_MODE_PSYCHO 2 +#define PSYCHO_MODE_SABRE 0 +#define PSYCHO_MODE_PSYCHO 1 /* Bus A or B of a psycho pair? */ u_int sc_half; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-sparc64@FreeBSD.ORG Sun Mar 22 21:57:24 2009 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CECBA106566B; Sun, 22 Mar 2009 21:57:24 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A42588FC08; Sun, 22 Mar 2009 21:57:24 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from freefall.freebsd.org (marius@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MLvOZd090724; Sun, 22 Mar 2009 21:57:24 GMT (envelope-from marius@freefall.freebsd.org) Received: (from marius@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n2MLvO69090720; Sun, 22 Mar 2009 21:57:24 GMT (envelope-from marius) Date: Sun, 22 Mar 2009 21:57:24 GMT Message-Id: <200903222157.n2MLvO69090720@freefall.freebsd.org> To: rorya+freebsd.org@TrueStep.com, marius@FreeBSD.org, freebsd-sparc64@FreeBSD.org From: marius@FreeBSD.org Cc: Subject: Re: sparc64/131371: [panic] 7.1-R sparc64 panics on boot on Tatung U4MP X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 21:57:25 -0000 Synopsis: [panic] 7.1-R sparc64 panics on boot on Tatung U4MP State-Changed-From-To: feedback->closed State-Changed-By: marius State-Changed-When: Sun Mar 22 21:56:39 UTC 2009 State-Changed-Why: close http://www.freebsd.org/cgi/query-pr.cgi?pr=131371 From owner-freebsd-sparc64@FreeBSD.ORG Mon Mar 23 00:59:34 2009 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FE77106564A for ; Mon, 23 Mar 2009 00:59:34 +0000 (UTC) (envelope-from zenxyzzy@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.237]) by mx1.freebsd.org (Postfix) with ESMTP id 671F78FC12 for ; Mon, 23 Mar 2009 00:59:34 +0000 (UTC) (envelope-from zenxyzzy@gmail.com) Received: by rv-out-0506.google.com with SMTP id l9so1547960rvb.43 for ; Sun, 22 Mar 2009 17:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=muDMIg3K5/9LlB4mOOvf9LZh5Ri/HZAb8L0+puP6+t0=; b=QakoUSVxU+GezpypmuXNN5NZp1k2wloG87asH5pAWT1c3Dto+P1U2pkBeYx8P56iW5 /h1Z6jMcbVhvZswKqkTiFQ97HDIPTl3DPEvIqoKffQRowAxytawRfC3fduSN25LcT86I /AIR8cVPfiAkkahP+CM75zSlnPDU88m1+PJ9I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=a9CxSl5joXZDGL+AxZGywh37CrwwIiUUL2sn7a16M6Z5mu9mjIwocWp35U+3WzEnN4 SD9U0ZHzoqPx4ARLexKTxnPkQJPJYzsXYSYHsGRrBA/z6vV5N4g/dTcfxSz/YLZVQAX/ QcHRnXsMCO2jpd5Q9lxeuRyBJlK04R5TFUlCo= MIME-Version: 1.0 Received: by 10.140.171.18 with SMTP id t18mr1980417rve.95.1237768228384; Sun, 22 Mar 2009 17:30:28 -0700 (PDT) Date: Sun, 22 Mar 2009 19:30:28 -0500 Message-ID: From: zenxyzzy To: freebsd-sparc64@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: US-III crashes on current X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2009 00:59:34 -0000 I've been tinkering with my sunblade 1000 for some time, and have run pretty much all the os's available on it it's really cool to have those easily swappable fiber channel root disks... configuration is pretty phat, with 2x900, 4G, 2x73G FC, 500G sata on a shoehorned in internal bay, and 1 scsi dvd-rom and 1 ide dvd burner, 2x creator 3d UPA, 1 belkin usb2 card, a promise 4 drive ide card, and a cheap sil3512 sata card. anyhow, I was tickled pink when 8.0-20090111-SNAP showed up a while back, and it runs well, with a zfs root, even. some caveats: 1) the fans run all the time. 2) halt consistently panic's the machine. quite benign, if you think about = it: panic: trap: fast data access mmu miss cpuid =3D 0 KDB: enter: panic [thread pid 1402 tid 100148 ] Stopped at kdb_enter+0x80: ta %xcc, 1 db> where Tracing pid 1402 tid 100148 td 0xfffff8000448a700 panic() at panic+0x20c trap() at trap+0x4d0 -- fast data access mmu miss tar=3D0x14543da000 %o7=3D0xc034c96c -- callout_lock() at callout_lock+0x40 untimeout() at untimeout+0xc isp_done() at isp_done+0x140 isp_intr() at isp_intr+0x3eb8 isp_poll() at isp_poll+0x38 xpt_polled_action() at xpt_polled_action+0xc8 dashutdown() at dashutdown+0x16c boot() at boot+0x858 reboot() at reboot+0x64 syscall() at syscall+0x2e8 -- syscall (55, FreeBSD ELF64, reboot) %o7=3D0x1013e4 -- userland() at 0x4056af08 user trace: trap %o7=3D0x1013e4 pc 0x4056af08, sp 0x7fdffffe261 pc 0x100df0, sp 0x7fdffffe321 pc 0x402066f4, sp 0x7fdffffe3e1 3) no X 4) no sound 5) annoying lock order reversals. 6) under extreme loads (load av =3D=3D 10) possibly a hang or two. so, since I want to contribute some data, I build a kernel from the SNAP's source, and it works just as well, even with the lock instrumentation removed. so, I pull a current source tree and build it. oops. no go. 1100+ files changed in those 2 months; how to find the culprit? it panics long before probing devices, using the generic config file: BOOM: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... jumping to kernel entry at 0xc0080000. GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #0: Sun Mar 22 09:47:54 CDT 2009 root@ra.zen-room.org:/usr/src/sys/sparc64/compile/SAFE WARNING: WITNESS option enabled, expect reduced performance. real memory =3D 4294967296 (4096 MB) panic: vm_phys_paddr_to_vm_page: paddr 0xfd81a000 is not in any segment cpuid =3D 0 KDB: enter: panic [thread pid 0 tid 0 ] Stopped at kdb_enter+0x80: ta %xcc, 1 db> where Tracing pid 0 tid 0 td 0xc08ad670 panic() at panic+0x20c vm_phys_paddr_to_vm_page() at vm_phys_paddr_to_vm_page+0x84 pmap_remove_tte() at pmap_remove_tte+0x80 pmap_enter_locked() at pmap_enter_locked+0x204 pmap_enter() at pmap_enter+0x64 vm_fault() at vm_fault+0x17ac vm_fault_wire() at vm_fault_wire+0x3c vm_map_wire() at vm_map_wire+0x26c kmem_alloc() at kmem_alloc+0x1b4 vm_ksubmap_init() at vm_ksubmap_init+0x74 cpu_startup() at cpu_startup+0xc4 mi_startup() at mi_startup+0x18c btext() at btext+0x30 anybody got any better source than 8.0-20090111-SNAP? Those 1100 file changes look pretty daunting. until then, I'll just work on X. oh, yeah: the obligatory: GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-20090111-SNAP #0: Sat Mar 21 13:19:27 CDT 2009 root@ra.zen-room.org:/usr/src/sys/sparc64/compile/RA2 real memory =3D 4294967296 (4096 MB) avail memory =3D 4174684160 (3981 MB) cpu0: Sun Microsystems UltraSparc-III+ Processor (900.00 MHz CPU) cpu1: Sun Microsystems UltraSparc-III+ Processor (900.00 MHz CPU) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs This module (opensolaris) contains code covered by the Common Development and Distribution License (CDDL) see http://opensolaris.org/os/licensing/opensolaris_license/ ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware kbd0 at kbdmux0 nexus0: nexus0: mem 0x40000400000-0x40000400047 type memory-controller (no driver attached) nexus0: mem 0x40000c00000-0x40000c00047 type memory-controller (no driver attached) pcib0: mem 0x40004700000-0x40004717fff,0x40004410000-0x4000441004f,0x7ffee000000-0x7ff= ee0000ff irq 563,560,561,564,550 on nexus0 pcib0: Schizo, version 4, IGN 0x8, bus B, 33MHz pcib0: DVMA map: 0xc0000000 to 0xffffffff pcib0: [FILTER] pcib0: [FILTER] pcib0: [FILTER] pcib0: [FILTER] pci0: on pcib0 ebus0: mem 0x7d000000-0x7dffffff,0x7e000000-0x7e7fffff at device 5.0 on pci0 ebus0: addr 0-0x1fffff (no driver attached) ebus0: addr 0x10000002e-0x10000002f,0x10000002d irq 35 (no driver attached) ebus0: addr 0x100000000-0x1000fffff (no driver attached) ebus0: addr 0x10000000e-0x100000028,0x100728000-0x100728003,0x10030002e-0x10030002f,0x1= 00300600-0x100300607 (no driver attached) ebus0: addr 0x100000030-0x100000031 irq 35 (no driver attached) ebus0: addr 0x100000032-0x100000037 (no driver attached) ebus0: