From owner-freebsd-sparc64@FreeBSD.ORG Sun Apr 17 05:16:24 2011 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 5FEB9106564A for ; Sun, 17 Apr 2011 05:16:24 +0000 (UTC) (envelope-from superbisquit@gmail.com) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id 184CD8FC0A for ; Sun, 17 Apr 2011 05:16:23 +0000 (UTC) Received: by vxc34 with SMTP id 34so3748670vxc.13 for ; Sat, 16 Apr 2011 22:16:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Crn+mtnj3orD3RZQ7gI2l/zfcAVbUvPhdw1steFLIW0=; b=ZckHMYzmOeawhk/va4Xf4aFMAHuB0ZQ7QHxI2vCnROQZHEl05UwkKBbsp2ns3gJrwB /n2cYbSu3SHR7K15LTZzorOeKDt8VSc03Crls1Ps+2eJISGlIx0HN3isMnk6fWe7gMuA v2VpeTsSsADSFeKY+s7bO7NP1O5J4orE4U5as= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Xwznp6jnzyAi/zY42OOByQmjNqCI8J0f4iBZQ2livExMmLnVhuUa8FWg1Sf8RQNFUm 3vA1MG2j01QcPL2LwRG2ywfg0oIQkHq68L6UK5U14I5ydCpni8KJvZ4l8+cp5JrDdS5l Ie6u467UYUXGd0NoUmdPZr1HOPbl/MYAx5c0c= MIME-Version: 1.0 Received: by 10.220.178.131 with SMTP id bm3mr1090447vcb.28.1303017383154; Sat, 16 Apr 2011 22:16:23 -0700 (PDT) Received: by 10.220.199.2 with HTTP; Sat, 16 Apr 2011 22:16:22 -0700 (PDT) In-Reply-To: References: <20110414085328.GA33206@alchemy.franken.de> Date: Sun, 17 Apr 2011 01:16:22 -0400 Message-ID: From: Super Bisquit To: Marius Strobl Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-sparc64@freebsd.org Subject: Re: Error in elf_machdep.c when building a kernel 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, 17 Apr 2011 05:16:24 -0000 The above should have been /usr/src/sys/sparc64/sparc64/elf_machdep I've disabled debugging and the defaults for CURRENT- WITNESS et al- but, the script is still searching for a non-existent executable. On 4/14/11, Super Bisquit wrote: > It was just a kernel build, no world. > You're right, the hack didn't work completely. > > "/usr/src/sys/sparc64/elf_machdep.c:100:error: 'elf64_fbsd_brandnote' > undeclared here (not in a function)" > Dump_machdep.c did work in the build process. > > I'll redo the build later. > > On 4/14/11, Marius Strobl wrote: >> On Thu, Apr 14, 2011 at 03:50:59AM -0400, Super Bisquit wrote: >>> I had noted nefore that elf64-sparc-freebsd was not found. >>> There is /usr/src/contrib/binutils/ld/emulparams/elf64_sparc.sh and >>> /usr/src/contrib/binutils/ld/emulparams/elf64_sparc_fbsd.sh >>> >>> I replaced freebsd with fbsd in the stated file and saved >>> elf_machdep.c to elf_machdep.c.old. >>> >>> I'm not sure if it will correct the problem. >> >> Sounds like you're trying to build world across the binutils update >> with an unclean object directory; you need to delete it or not use >> -DNO_CLEAN, otherwise the result likely won't work, even with your >> hack. >> >> Marius >> >> > From owner-freebsd-sparc64@FreeBSD.ORG Sun Apr 17 11:55:56 2011 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 E278C106566B for ; Sun, 17 Apr 2011 11:55:56 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 7CDD68FC13 for ; Sun, 17 Apr 2011 11:55:56 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id p3HBtsSw049702; Sun, 17 Apr 2011 13:55:54 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id p3HBtsS2049701; Sun, 17 Apr 2011 13:55:54 +0200 (CEST) (envelope-from marius) Date: Sun, 17 Apr 2011 13:55:54 +0200 From: Marius Strobl To: Super Bisquit Message-ID: <20110417115554.GG38455@alchemy.franken.de> References: <20110414085328.GA33206@alchemy.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: freebsd-sparc64@freebsd.org Subject: Re: Error in elf_machdep.c when building a kernel 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, 17 Apr 2011 11:55:57 -0000 On Sun, Apr 17, 2011 at 01:16:22AM -0400, Super Bisquit wrote: > The above should have been /usr/src/sys/sparc64/sparc64/elf_machdep > I've disabled debugging and the defaults for CURRENT- WITNESS et al- > but, the script is still searching for a non-existent executable. Your installation and/or update process is b0rked; ensure you have en empty MAKEOBJDIRPREFIX and unmodified sources, run buildworld _then_ buildkernel. Marius From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 18 08:01:37 2011 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 A0A23106566B for ; Mon, 18 Apr 2011 08:01:37 +0000 (UTC) (envelope-from shenfang112@gmail.com) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by mx1.freebsd.org (Postfix) with ESMTP id 7E9298FC1B for ; Mon, 18 Apr 2011 08:01:37 +0000 (UTC) Received: from [192.168.236.26] (helo=sam.nabble.com) by sam.nabble.com with esmtp (Exim 4.69) (envelope-from ) id 1QBj8z-0000FD-7J for freebsd-sparc64@freebsd.org; Mon, 18 Apr 2011 00:45:13 -0700 Date: Mon, 18 Apr 2011 00:45:13 -0700 (PDT) From: coachpurses To: freebsd-sparc64@freebsd.org Message-ID: <1303112713214-4310136.post@n5.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: cheap coach online 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, 18 Apr 2011 08:01:37 -0000 Welcome to our http://www.salecoachpurses.com/ coach outlet online store,here are the most comprehensive http://www.salecoachpurses.com/coach-purses-c-4.html coach purses , http://www.salecoachpurses.com/coach-bags-c-1.html coach bags , http://www.salecoachpurses.com/coach-wallets-c-3.html coach wallets , http://www.salecoachpurses.com/coach-sunglasses-c-8.html coach sunglasses and http://www.salecoachpurses.com/coach-wristlets-c-2.html coach wristlets .If you like coach bags,all of http://www.salecoachpurses.com/coach-bags-coach-crossbody-bags-c-1_14.html coach crossbody bags , http://www.salecoachpurses.com/coach-bags-coach-diaper-bags-c-1_15.html coach diaper bags , http://www.salecoachpurses.com/coach-bags-coach-hobo-bags-c-1_16.html coach hobo bags , http://www.salecoachpurses.com/coach-bags-coach-leather-bags-c-1_17.html coach leather bags , http://www.salecoachpurses.com/coach-bags-coach-poppy-bags-c-1_18.html coach poppy bags , http://www.salecoachpurses.com/coach-bags-coach-shoulder-bags-c-1_19.html coach shoulder bags and http://www.salecoachpurses.com/coach-bags-coach-tote-bags-c-1_20.html coach tote bags are complete for you to choose!If you want to go on a trip,i think the http://www.salecoachpurses.com/coach-luggage-c-5.html coach luggage or http://www.salecoachpurses.com/coach-backpacks-c-6.html coach backpacks is a must for you! As a fashion person, I think you also need to wear beautiful jewelry now! We have all kinds of http://www.salecoachpurses.com/coach-jewelry-c-7.html coach jewelry ,like http://www.salecoachpurses.com/coach-jewelry-coach-bracelet-c-7_9.html coach bracelet , http://www.salecoachpurses.com/coach-jewelry-coach-necklace-c-7_10.html coach necklace , http://www.salecoachpurses.com/coach-jewelry-coach-earrings-c-7_11.html coach earrings , http://www.salecoachpurses.com/coach-jewelry-coach-keychain-c-7_12.html coach keychain .Shopping here you can enjoy fast shipping,cheapest price and best service,Now the following time is yours,you can enjoy a pleasant shopping trip! -- View this message in context: http://freebsd.1045724.n5.nabble.com/cheap-coach-online-tp4310136p4310136.html Sent from the freebsd-sparc64 mailing list archive at Nabble.com. From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 18 11:07:08 2011 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 DDB721065673 for ; Mon, 18 Apr 2011 11:07:08 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CAE378FC0C for ; Mon, 18 Apr 2011 11:07:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p3IB78Pt019616 for ; Mon, 18 Apr 2011 11:07:08 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p3IB78ms019613 for freebsd-sparc64@FreeBSD.org; Mon, 18 Apr 2011 11:07:08 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 18 Apr 2011 11:07:08 GMT Message-Id: <201104181107.p3IB78ms019613@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-sparc64@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-sparc64@FreeBSD.org 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, 18 Apr 2011 11:07:08 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- f sparc/145211 sparc64 [panic] Memory modified after free o sparc/142102 sparc64 [nfs] [panic] FreeBSD 8.0 kernel panics on sparc64 whe o sparc/141918 sparc64 [ehci] ehci_interrupt: unrecoverable error, controller s sparc/139134 sparc64 kernel output corruption f sparc/108732 sparc64 ping(8) reports 14 digit time on sparc64 s sparc/107087 sparc64 [hang] system is hung during boot from CD o sparc/105048 sparc64 [trm] trm(4) panics on sparc64 o sparc/104428 sparc64 [nullfs] nullfs panics on E4500 (but not E420) o sparc/80890 sparc64 [panic] kmem_malloc(73728): kmem_map too small running o sparc/71729 sparc64 printf in kernel thread causes panic on SPARC 10 problems total. From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 18 11:22:40 2011 Return-Path: Delivered-To: freebsd-sparc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30C0B1065674 for ; Mon, 18 Apr 2011 11:22:40 +0000 (UTC) (envelope-from rstm@concord.ru) Received: from concord.ru (mail.concord.ru [217.198.160.212]) by mx1.freebsd.org (Postfix) with ESMTP id 5DBC58FC1B for ; Mon, 18 Apr 2011 11:22:38 +0000 (UTC) Received: from Ieva (unverified [112.173.51.155]) by concord.ru (SurgeMail 4.0u4) with ESMTP id 4858418-1833346 for ; Mon, 18 Apr 2011 15:06:31 +0400 MSD From: "Ieva" To: freebsd-sparc@freebsd.org Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="UTF-8" Date: Mon, 18 Apr 2011 14:05:03 +0300 Message-ID: <1303124792_888@mail.concord.ru> X-Authenticated-User: rstm@concord.ru X-IP-stats: Incoming Last 0, First 0, in=2, out=0, spam=0 ip=112.173.51.155 Cc: Subject: Dace un Odita =?utf-8?b?dsSTbGFz?= tevi X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ieva List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Apr 2011 11:22:40 -0000 Latvijas galvaspilsētā ir atvēries palaidnīgs džentelmeņu vieta - E.d.e.n.! Tavām pikantajām rotaļām ir pieejami 6, īpaši pielāgoti, stāvi ! Kompleksa otrajā stāvā ir iespējams izbaudīt eksotisku masāžu, lielisku un seksīgu meiteiņu izpildījumā, pārējā ēkas daļā: baudiet gardus dzērienus, sensuālu šovu vai arī iekārtojies a.p.a.r.t.a.m.e.n.t.o.s. mierīgai atpūtai!! Šonedēļ ir pieejamas tādas iepazīšanās cenas, ka atpūsties pie mums ir lētāk nekā uzturēt sievu! Dodieties sajusties kā vulkāns: www.saloneden.info From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 07:55:44 2011 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 94E9A1065672; Thu, 21 Apr 2011 07:55:44 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id 636648FC12; Thu, 21 Apr 2011 07:55:44 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3L7theh042329; Thu, 21 Apr 2011 03:55:43 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3L7th1X042320; Thu, 21 Apr 2011 07:55:43 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 07:55:43 GMT Message-Id: <201104210755.p3L7th1X042320@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 07:55:44 -0000 TB --- 2011-04-21 06:34:24 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 06:34:24 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2011-04-21 06:34:24 - cleaning the object tree TB --- 2011-04-21 06:34:37 - cvsupping the source tree TB --- 2011-04-21 06:34:37 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sparc64/supfile TB --- 2011-04-21 06:34:52 - building world TB --- 2011-04-21 06:34:52 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 06:34:52 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 06:34:52 - TARGET=sparc64 TB --- 2011-04-21 06:34:52 - TARGET_ARCH=sparc64 TB --- 2011-04-21 06:34:52 - TZ=UTC TB --- 2011-04-21 06:34:52 - __MAKE_CONF=/dev/null TB --- 2011-04-21 06:34:52 - cd /src TB --- 2011-04-21 06:34:52 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 06:34:53 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 07:37:06 UTC 2011 TB --- 2011-04-21 07:37:06 - generating LINT kernel config TB --- 2011-04-21 07:37:06 - cd /src/sys/sparc64/conf TB --- 2011-04-21 07:37:06 - /usr/bin/make -B LINT TB --- 2011-04-21 07:37:06 - building LINT kernel TB --- 2011-04-21 07:37:06 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 07:37:06 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 07:37:06 - TARGET=sparc64 TB --- 2011-04-21 07:37:06 - TARGET_ARCH=sparc64 TB --- 2011-04-21 07:37:06 - TZ=UTC TB --- 2011-04-21 07:37:06 - __MAKE_CONF=/dev/null TB --- 2011-04-21 07:37:06 - cd /src TB --- 2011-04-21 07:37:06 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 07:37:07 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2531: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2534: error: 'struct ieee80211_mimo_info' has no member named 'noise' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2535: error: 'struct ieee80211_mimo_info' has no member named 'noise' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2536: error: 'struct ieee80211_mimo_info' has no member named 'noise' *** Error code 1 Stop in /src/sys/modules/mwl. *** Error code 1 Stop in /src/sys/modules. *** Error code 1 Stop in /obj/sparc64.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 07:55:43 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 07:55:43 - ERROR: failed to build lint kernel TB --- 2011-04-21 07:55:43 - 3730.68 user 753.83 system 4878.55 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 08:10:04 2011 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 5D3C0106564A; Thu, 21 Apr 2011 08:10:04 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id 2A1548FC17; Thu, 21 Apr 2011 08:10:03 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3L8A3ha025238; Thu, 21 Apr 2011 04:10:03 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3L8A3oK025237; Thu, 21 Apr 2011 08:10:03 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 08:10:03 GMT Message-Id: <201104210810.p3L8A3oK025237@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 08:10:04 -0000 TB --- 2011-04-21 06:49:36 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 06:49:36 - starting HEAD tinderbox run for sparc64/sun4v TB --- 2011-04-21 06:49:36 - cleaning the object tree TB --- 2011-04-21 06:49:45 - cvsupping the source tree TB --- 2011-04-21 06:49:45 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sun4v/supfile TB --- 2011-04-21 06:50:31 - building world TB --- 2011-04-21 06:50:31 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 06:50:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 06:50:31 - TARGET=sun4v TB --- 2011-04-21 06:50:31 - TARGET_ARCH=sparc64 TB --- 2011-04-21 06:50:31 - TZ=UTC TB --- 2011-04-21 06:50:31 - __MAKE_CONF=/dev/null TB --- 2011-04-21 06:50:31 - cd /src TB --- 2011-04-21 06:50:31 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 06:50:31 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 07:52:47 UTC 2011 TB --- 2011-04-21 07:52:47 - generating LINT kernel config TB --- 2011-04-21 07:52:47 - cd /src/sys/sun4v/conf TB --- 2011-04-21 07:52:47 - /usr/bin/make -B LINT TB --- 2011-04-21 07:52:47 - building LINT kernel TB --- 2011-04-21 07:52:47 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 07:52:47 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 07:52:47 - TARGET=sun4v TB --- 2011-04-21 07:52:47 - TARGET_ARCH=sparc64 TB --- 2011-04-21 07:52:47 - TZ=UTC TB --- 2011-04-21 07:52:47 - __MAKE_CONF=/dev/null TB --- 2011-04-21 07:52:47 - cd /src TB --- 2011-04-21 07:52:47 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 07:52:47 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2531: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2532: error: 'struct ieee80211_mimo_info' has no member named 'rssi' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2534: error: 'struct ieee80211_mimo_info' has no member named 'noise' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2535: error: 'struct ieee80211_mimo_info' has no member named 'noise' /src/sys/modules/mwl/../../dev/mwl/if_mwl.c:2536: error: 'struct ieee80211_mimo_info' has no member named 'noise' *** Error code 1 Stop in /src/sys/modules/mwl. *** Error code 1 Stop in /src/sys/modules. *** Error code 1 Stop in /obj/sun4v.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 08:10:03 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 08:10:03 - ERROR: failed to build lint kernel TB --- 2011-04-21 08:10:03 - 3696.25 user 742.27 system 4827.16 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sun4v.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 17:37:09 2011 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 4556C106564A for ; Thu, 21 Apr 2011 17:37:09 +0000 (UTC) (envelope-from superbisquit@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id ECF1B8FC14 for ; Thu, 21 Apr 2011 17:37:08 +0000 (UTC) Received: by vws18 with SMTP id 18so1902410vws.13 for ; Thu, 21 Apr 2011 10:37:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=6bVu2mLTtobD6zIfnjSXaYVrjbtYCGS6qj3SPA8RkhY=; b=wdp3JC5rKc32YannOiwHDfgONwlrwolZ0JoY8kHfRHgeH/Xc2+PDaxMiPb6YPVGLTC U6zAe38JVuZa3UZ6OwA6RoJIfnrYISzkr6Gjzvzj0U/4uj+aijlN0bng1rCDCGR8S3Sl nsvdmIb58VhXWLRqbBlW7MOjzMM7DbVLf44aY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=iY+BlLNCtoNlJN+lGFihU7MuNHmT2M7t3mrV7Ic5YpilhWB8ENaZ0UXFDd3KTBKExf azNRA22+pCr3kKejW7w8zFTJ7cTcYj9bf3tTlqSC2K7DrgVPaw4akS8l5bbdTElae/OW mqvibh3AraMd7NMFZN092BsZ/jWSQxFWjw2z8= MIME-Version: 1.0 Received: by 10.220.178.131 with SMTP id bm3mr70546vcb.28.1303407427930; Thu, 21 Apr 2011 10:37:07 -0700 (PDT) Received: by 10.220.199.2 with HTTP; Thu, 21 Apr 2011 10:37:07 -0700 (PDT) Date: Thu, 21 Apr 2011 13:37:07 -0400 Message-ID: From: Super Bisquit To: freebsd-sparc64@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: What are the default compiler settings for sparc64? 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: Thu, 21 Apr 2011 17:37:09 -0000 I am asking for reason of building Gnome3 on a SunBlade 1000. What are the best options to pass to /etc/make.conf without causing it to be CPU specific? From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 17:51:01 2011 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 EBE34106564A; Thu, 21 Apr 2011 17:51:00 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id A203A8FC0A; Thu, 21 Apr 2011 17:51:00 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3LHoxrV064577; Thu, 21 Apr 2011 13:50:59 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3LHoxS3064560; Thu, 21 Apr 2011 17:50:59 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 17:50:59 GMT Message-Id: <201104211750.p3LHoxS3064560@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 17:51:01 -0000 TB --- 2011-04-21 16:34:20 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 16:34:20 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2011-04-21 16:34:20 - cleaning the object tree TB --- 2011-04-21 16:34:31 - cvsupping the source tree TB --- 2011-04-21 16:34:31 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sparc64/supfile TB --- 2011-04-21 16:34:45 - building world TB --- 2011-04-21 16:34:45 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 16:34:45 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 16:34:45 - TARGET=sparc64 TB --- 2011-04-21 16:34:45 - TARGET_ARCH=sparc64 TB --- 2011-04-21 16:34:45 - TZ=UTC TB --- 2011-04-21 16:34:45 - __MAKE_CONF=/dev/null TB --- 2011-04-21 16:34:45 - cd /src TB --- 2011-04-21 16:34:45 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 16:34:47 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 17:36:41 UTC 2011 TB --- 2011-04-21 17:36:41 - generating LINT kernel config TB --- 2011-04-21 17:36:41 - cd /src/sys/sparc64/conf TB --- 2011-04-21 17:36:41 - /usr/bin/make -B LINT TB --- 2011-04-21 17:36:41 - building LINT kernel TB --- 2011-04-21 17:36:41 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 17:36:41 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 17:36:41 - TARGET=sparc64 TB --- 2011-04-21 17:36:41 - TARGET_ARCH=sparc64 TB --- 2011-04-21 17:36:41 - TZ=UTC TB --- 2011-04-21 17:36:41 - __MAKE_CONF=/dev/null TB --- 2011-04-21 17:36:41 - cd /src TB --- 2011-04-21 17:36:41 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 17:36:41 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] g_eli_privacy.o: In function `g_eli_crypto_run': g_eli_privacy.c:(.text+0x11c): undefined reference to `g_eli_key_hold' g_eli_privacy.c:(.text+0x284): undefined reference to `g_eli_key_hold' g_eli_privacy.o: In function `g_eli_crypto_write_done': g_eli_privacy.c:(.text+0x468): undefined reference to `g_eli_key_drop' g_eli_privacy.o: In function `g_eli_crypto_read_done': g_eli_privacy.c:(.text+0xbb8): undefined reference to `g_eli_key_drop' g_eli_privacy.c:(.text+0xcc8): undefined reference to `g_eli_key_drop' *** Error code 1 Stop in /obj/sparc64.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 17:50:59 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 17:50:59 - ERROR: failed to build lint kernel TB --- 2011-04-21 17:50:59 - 3498.70 user 726.72 system 4598.52 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 18:05:12 2011 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 2A5B7106566B; Thu, 21 Apr 2011 18:05:12 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id D24DE8FC19; Thu, 21 Apr 2011 18:05:11 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3LI5Bt4054288; Thu, 21 Apr 2011 14:05:11 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3LI5Ami054279; Thu, 21 Apr 2011 18:05:10 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 18:05:10 GMT Message-Id: <201104211805.p3LI5Ami054279@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 18:05:12 -0000 TB --- 2011-04-21 16:49:51 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 16:49:51 - starting HEAD tinderbox run for sparc64/sun4v TB --- 2011-04-21 16:49:51 - cleaning the object tree TB --- 2011-04-21 16:50:01 - cvsupping the source tree TB --- 2011-04-21 16:50:01 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sun4v/supfile TB --- 2011-04-21 16:50:47 - building world TB --- 2011-04-21 16:50:47 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 16:50:47 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 16:50:47 - TARGET=sun4v TB --- 2011-04-21 16:50:47 - TARGET_ARCH=sparc64 TB --- 2011-04-21 16:50:47 - TZ=UTC TB --- 2011-04-21 16:50:47 - __MAKE_CONF=/dev/null TB --- 2011-04-21 16:50:47 - cd /src TB --- 2011-04-21 16:50:47 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 16:50:47 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 17:52:27 UTC 2011 TB --- 2011-04-21 17:52:27 - generating LINT kernel config TB --- 2011-04-21 17:52:27 - cd /src/sys/sun4v/conf TB --- 2011-04-21 17:52:27 - /usr/bin/make -B LINT TB --- 2011-04-21 17:52:27 - building LINT kernel TB --- 2011-04-21 17:52:27 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 17:52:27 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 17:52:27 - TARGET=sun4v TB --- 2011-04-21 17:52:27 - TARGET_ARCH=sparc64 TB --- 2011-04-21 17:52:27 - TZ=UTC TB --- 2011-04-21 17:52:27 - __MAKE_CONF=/dev/null TB --- 2011-04-21 17:52:27 - cd /src TB --- 2011-04-21 17:52:27 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 17:52:27 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] g_eli_privacy.o: In function `g_eli_crypto_run': g_eli_privacy.c:(.text+0x11c): undefined reference to `g_eli_key_hold' g_eli_privacy.c:(.text+0x284): undefined reference to `g_eli_key_hold' g_eli_privacy.o: In function `g_eli_crypto_write_done': g_eli_privacy.c:(.text+0x468): undefined reference to `g_eli_key_drop' g_eli_privacy.o: In function `g_eli_crypto_read_done': g_eli_privacy.c:(.text+0xbb8): undefined reference to `g_eli_key_drop' g_eli_privacy.c:(.text+0xcc8): undefined reference to `g_eli_key_drop' *** Error code 1 Stop in /obj/sun4v.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 18:05:10 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 18:05:10 - ERROR: failed to build lint kernel TB --- 2011-04-21 18:05:10 - 3463.30 user 719.68 system 4519.04 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sun4v.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 18:46:38 2011 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 819021065670 for ; Thu, 21 Apr 2011 18:46:38 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id F31CE8FC15 for ; Thu, 21 Apr 2011 18:46:37 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id p3LIka5b090975; Thu, 21 Apr 2011 20:46:36 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id p3LIkaaa090974; Thu, 21 Apr 2011 20:46:36 +0200 (CEST) (envelope-from marius) Date: Thu, 21 Apr 2011 20:46:36 +0200 From: Marius Strobl To: Super Bisquit Message-ID: <20110421184636.GA90946@alchemy.franken.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: freebsd-sparc64@freebsd.org Subject: Re: What are the default compiler settings for sparc64? 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: Thu, 21 Apr 2011 18:46:38 -0000 On Thu, Apr 21, 2011 at 01:37:07PM -0400, Super Bisquit wrote: > I am asking for reason of building Gnome3 on a SunBlade 1000. > What are the best options to pass to /etc/make.conf without causing it to be > CPU specific? None for what FreeBSD/sparc64 currently runs on; see the description of CPUTYPEs for SPARC-V9 in /usr/share/examples/etc/make.conf. Marius From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 22:11:34 2011 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 A76FC1065672; Thu, 21 Apr 2011 22:11:34 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id 60A2E8FC0C; Thu, 21 Apr 2011 22:11:34 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3LMBXmM077111; Thu, 21 Apr 2011 18:11:33 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3LMBXig077075; Thu, 21 Apr 2011 22:11:33 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 22:11:33 GMT Message-Id: <201104212211.p3LMBXig077075@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 22:11:34 -0000 TB --- 2011-04-21 20:55:18 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 20:55:18 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2011-04-21 20:55:18 - cleaning the object tree TB --- 2011-04-21 20:55:27 - cvsupping the source tree TB --- 2011-04-21 20:55:27 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sparc64/supfile TB --- 2011-04-21 20:55:39 - building world TB --- 2011-04-21 20:55:39 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 20:55:39 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 20:55:39 - TARGET=sparc64 TB --- 2011-04-21 20:55:39 - TARGET_ARCH=sparc64 TB --- 2011-04-21 20:55:39 - TZ=UTC TB --- 2011-04-21 20:55:39 - __MAKE_CONF=/dev/null TB --- 2011-04-21 20:55:39 - cd /src TB --- 2011-04-21 20:55:39 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 20:55:39 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 21:57:20 UTC 2011 TB --- 2011-04-21 21:57:20 - generating LINT kernel config TB --- 2011-04-21 21:57:20 - cd /src/sys/sparc64/conf TB --- 2011-04-21 21:57:20 - /usr/bin/make -B LINT TB --- 2011-04-21 21:57:20 - building LINT kernel TB --- 2011-04-21 21:57:20 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 21:57:20 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 21:57:20 - TARGET=sparc64 TB --- 2011-04-21 21:57:20 - TARGET_ARCH=sparc64 TB --- 2011-04-21 21:57:20 - TZ=UTC TB --- 2011-04-21 21:57:20 - __MAKE_CONF=/dev/null TB --- 2011-04-21 21:57:20 - cd /src TB --- 2011-04-21 21:57:20 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 21:57:20 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] g_eli_privacy.o: In function `g_eli_crypto_run': g_eli_privacy.c:(.text+0x11c): undefined reference to `g_eli_key_hold' g_eli_privacy.c:(.text+0x284): undefined reference to `g_eli_key_hold' g_eli_privacy.o: In function `g_eli_crypto_write_done': g_eli_privacy.c:(.text+0x468): undefined reference to `g_eli_key_drop' g_eli_privacy.o: In function `g_eli_crypto_read_done': g_eli_privacy.c:(.text+0xbb8): undefined reference to `g_eli_key_drop' g_eli_privacy.c:(.text+0xcc8): undefined reference to `g_eli_key_drop' *** Error code 1 Stop in /obj/sparc64.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 22:11:33 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 22:11:33 - ERROR: failed to build lint kernel TB --- 2011-04-21 22:11:33 - 3496.36 user 724.59 system 4574.94 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 22:14:41 2011 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 8CB521065672 for ; Thu, 21 Apr 2011 22:14:41 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id ECD698FC08 for ; Thu, 21 Apr 2011 22:14:40 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id p3LM3EH7091843 for ; Fri, 22 Apr 2011 00:03:15 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id p3LM3EWV091842 for sparc64@freebsd.org; Fri, 22 Apr 2011 00:03:14 +0200 (CEST) (envelope-from marius) Date: Fri, 22 Apr 2011 00:03:14 +0200 From: Marius Strobl To: sparc64@freebsd.org Message-ID: <20110421220314.GD63055@alchemy.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: Subject: [marius@freebsd.org: svn commit: r220931 - head/sys/sparc64/sparc64] 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: Thu, 21 Apr 2011 22:14:41 -0000 FYI, I've finally enabled the use of the IOMMU streaming caches (if present). Theoretically, this actually may result in data corruption in the worst case if a driver doesn't properly use bus_dmamap_sync(9) when not specifying BUS_DMA_COHERENT, however, I believe that I've thoroughly reviewed and fixed all drivers in GENERIC and tested the critical ones. If nevertheless you encounter problems with this commit please let me know ASAP. Thanks to Michael Moll for testing some hardware combinations I don't have access to myself. Marius ----- Forwarded message from Marius Strobl ----- Delivered-To: svn-src-all@freebsd.org From: Marius Strobl Date: Thu, 21 Apr 2011 21:56:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head Cc: Subject: svn commit: r220931 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: owner-svn-src-all@freebsd.org Author: marius Date: Thu Apr 21 21:56:28 2011 New Revision: 220931 URL: http://svn.freebsd.org/changeset/base/220931 Log: - Use the streaming cache unless BUS_DMA_COHERENT is specified. Since r220375 all drivers enabled in the sparc64 GENERIC should be either correctly using bus_dmamap_sync(9) calls or supply BUS_DMA_COHERENT when appropriate or as a workaround for missing bus_dmamap_sync(9) calls (sound(4) drivers and partially sym(4)). In at least some configurations taking advantage of the streaming cache results in a modest performance improvement. - Remove the memory barrier for BUS_DMASYNC_PREREAD which as the comment already suggested is bogus. - Add my copyright for having implemented several things like support for the Fire and Oberon IOMMUs, taking over PROM IOMMU mappings etc. Modified: head/sys/sparc64/sparc64/iommu.c Modified: head/sys/sparc64/sparc64/iommu.c ============================================================================== --- head/sys/sparc64/sparc64/iommu.c Thu Apr 21 21:15:11 2011 (r220930) +++ head/sys/sparc64/sparc64/iommu.c Thu Apr 21 21:56:28 2011 (r220931) @@ -28,6 +28,7 @@ /*- * Copyright (c) 1999-2002 Eduardo Horvath * Copyright (c) 2001-2003 Thomas Moestl + * Copyright (c) 2007, 2009 Marius Strobl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -77,7 +78,6 @@ __FBSDID("$FreeBSD$"); * - When running out of DVMA space, return EINPROGRESS in the non- * BUS_DMA_NOWAIT case and delay the callback until sufficient space * becomes available. - * - Use the streaming cache unless BUS_DMA_COHERENT is specified. */ #include "opt_iommu.h" @@ -564,17 +564,8 @@ static __inline int iommu_use_streaming(struct iommu_state *is, bus_dmamap_t map, bus_size_t size) { - /* - * This cannot be enabled yet, as many driver are still missing - * bus_dmamap_sync() calls. As soon as there is a BUS_DMA_STREAMING - * flag, this should be reenabled conditionally on it. - */ -#ifdef notyet return (size >= IOMMU_STREAM_THRESH && IOMMU_HAS_SB(is) && (map->dm_flags & DMF_COHERENT) == 0); -#else - return (0); -#endif } /* @@ -1182,9 +1173,6 @@ iommu_dvmamap_sync(bus_dma_tag_t dt, bus if ((map->dm_flags & DMF_LOADED) == 0) return; - /* XXX This is probably bogus. */ - if ((op & BUS_DMASYNC_PREREAD) != 0) - membar(Sync); if ((map->dm_flags & DMF_STREAMED) != 0 && ((op & BUS_DMASYNC_POSTREAD) != 0 || (op & BUS_DMASYNC_PREWRITE) != 0)) { _______________________________________________ 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" ----- End forwarded message ----- From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 22:14:42 2011 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 E209F106564A for ; Thu, 21 Apr 2011 22:14:42 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 133AE8FC0A for ; Thu, 21 Apr 2011 22:14:41 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id p3LMARdJ091867; Fri, 22 Apr 2011 00:10:27 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id p3LMAR83091866; Fri, 22 Apr 2011 00:10:27 +0200 (CEST) (envelope-from marius) Date: Fri, 22 Apr 2011 00:10:27 +0200 From: Marius Strobl To: sparc64@freebsd.org Message-ID: <20110421221027.GE63055@alchemy.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: hannula@gmail.com Subject: [marius@freebsd.org: svn commit: r220038 - in head/sys: conf sparc64/pci] 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: Thu, 21 Apr 2011 22:14:43 -0000 FYI, chances are that this revision will work around the FATAL RESETs seen when using the on-board Casinni Gigabit interfaces of Sun Fire V480 equipped with broken centerplanes (i.e. ones other than 501-6780 and 501-6790). If someone could give that an actual try that would be great. Marius ----- Forwarded message from Marius Strobl ----- Delivered-To: svn-src-all@freebsd.org From: Marius Strobl Date: Sat, 26 Mar 2011 16:49:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head Cc: Subject: svn commit: r220038 - in head/sys: conf sparc64/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: owner-svn-src-all@freebsd.org Author: marius Date: Sat Mar 26 16:49:12 2011 New Revision: 220038 URL: http://svn.freebsd.org/changeset/base/220038 Log: - Merge the *_SET macros from fire(4) which generally print out the register changes when compiled with SCHIZO_DEBUG and take advantage of them. - Add support for the XMITS Fireplane/Safari to PCI-X bridges. I tought I'd need this for a Sun Fire 3800, which then turned out to not being equipped with such a bridge though. The support for these should be complete but given that it hasn't actually been tested probing is disabled for now. This required a way to alter the XMITS configuration in case a PCI-X device is found further down the device tree so the sparc64 specific ofw_pci kobj was revived with a ofw_pci_setup_device method, which is called by the ofw_pcibus code for every device added. - A closer inspection of the OpenSolaris code indicates that consistent DMA flushing/syncing as well as the block store workaround should be applied with every BUS_DMASYNC_POSTREAD instead of in a wrapper around interrupt handlers for devices behind PCI-PCI bridges only as suggested by the documentation (code for the latter actually exists in OpenSolaris but is disabled by default), which also makes more sense. - Add a workaround for Casinni/Skyhawk combinations. Chances are that this solves the crashes seen when using the the on-board Casinni NICs of Sun Fire V480 equipped with centerplanes other than 501-6780 or 501-6790. This also takes advantage of the ofw_pci_setup_device method. - Mark some unused parameters as such. Modified: head/sys/conf/files.sparc64 head/sys/conf/files.sun4v head/sys/sparc64/pci/ofw_pci.h head/sys/sparc64/pci/ofw_pci_if.m head/sys/sparc64/pci/ofw_pcibus.c head/sys/sparc64/pci/schizo.c head/sys/sparc64/pci/schizoreg.h head/sys/sparc64/pci/schizovar.h Modified: head/sys/conf/files.sparc64 ============================================================================== --- head/sys/conf/files.sparc64 Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/conf/files.sparc64 Sat Mar 26 16:49:12 2011 (r220038) @@ -79,6 +79,7 @@ sparc64/pci/fire.c optional pci sparc64/pci/ofw_pcib.c optional pci sparc64/pci/ofw_pcib_subr.c optional pci sparc64/pci/ofw_pcibus.c optional pci +sparc64/pci/ofw_pci_if.m optional pci sparc64/pci/psycho.c optional pci sparc64/pci/sbbc.c optional sbbc uart sparc64/pci/schizo.c optional pci Modified: head/sys/conf/files.sun4v ============================================================================== --- head/sys/conf/files.sun4v Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/conf/files.sun4v Sat Mar 26 16:49:12 2011 (r220038) @@ -56,6 +56,7 @@ sun4v/sun4v/trap_trace.S optional trap_t sparc64/pci/ofw_pcib.c optional pci sparc64/pci/ofw_pcib_subr.c optional pci sparc64/pci/ofw_pcibus.c optional pci +sparc64/pci/ofw_pci_if.m optional pci # XXX hvcons should be optional sun4v/sun4v/hvcons.c standard Modified: head/sys/sparc64/pci/ofw_pci.h ============================================================================== --- head/sys/sparc64/pci/ofw_pci.h Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/ofw_pci.h Sat Mar 26 16:49:12 2011 (r220038) @@ -64,6 +64,8 @@ #include +#include "ofw_pci_if.h" + typedef uint32_t ofw_pci_intr_t; /* PCI range child spaces. XXX: are these MI? */ Modified: head/sys/sparc64/pci/ofw_pci_if.m ============================================================================== --- head/sys/sparc64/pci/ofw_pci_if.m Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/ofw_pci_if.m Sat Mar 26 16:49:12 2011 (r220038) @@ -1,5 +1,6 @@ #- # Copyright (c) 2001, 2003 by Thomas Moestl +# Copyright (c) 2011 Marius Strobl # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -26,28 +27,22 @@ #include -#include - -#include - INTERFACE ofw_pci; CODE { - static ofw_pci_intr_pending_t ofw_pci_default_intr_pending; + static ofw_pci_setup_device_t ofw_pci_default_setup_device; - static int - ofw_pci_default_intr_pending(device_t dev, ofw_pci_intr_t intr) + static void + ofw_pci_default_setup_device(device_t dev, device_t child) { if (device_get_parent(dev) != NULL) - return (OFW_PCI_INTR_PENDING(device_get_parent(dev), - intr)); - return (0); + OFW_PCI_SETUP_DEVICE(device_get_parent(dev), child); } }; -# Return whether an interrupt request is pending for the INO intr. -METHOD int intr_pending { +# Setup a device further upward in the tree. +METHOD void setup_device { device_t dev; - ofw_pci_intr_t intr; -} DEFAULT ofw_pci_default_intr_pending; + device_t child; +} DEFAULT ofw_pci_default_setup_device; Modified: head/sys/sparc64/pci/ofw_pcibus.c ============================================================================== --- head/sys/sparc64/pci/ofw_pcibus.c Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/ofw_pcibus.c Sat Mar 26 16:49:12 2011 (r220038) @@ -277,6 +277,7 @@ ofw_pcibus_attach(device_t dev) continue; } pci_add_child(dev, (struct pci_devinfo *)dinfo); + OFW_PCI_SETUP_DEVICE(pcib, dinfo->opd_dinfo.cfg.dev); } return (bus_generic_attach(dev)); Modified: head/sys/sparc64/pci/schizo.c ============================================================================== --- head/sys/sparc64/pci/schizo.c Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/schizo.c Sat Mar 26 16:49:12 2011 (r220038) @@ -1,7 +1,7 @@ /*- * Copyright (c) 1999, 2000 Matthew R. Green * Copyright (c) 2001 - 2003 by Thomas Moestl - * Copyright (c) 2005, 2007, 2008 by Marius Strobl + * Copyright (c) 2005 - 2011 by Marius Strobl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,8 +35,8 @@ __FBSDID("$FreeBSD$"); /* - * Driver for `Schizo' Fireplane/Safari to PCI 2.1 and `Tomatillo' JBus to - * PCI 2.2 bridges + * Driver for `Schizo' Fireplane/Safari to PCI 2.1, `Tomatillo' JBus to + * PCI 2.2 and `XMITS' Fireplane/Safari to PCI-X bridges */ #include "opt_ofw_pci.h" @@ -80,8 +80,10 @@ __FBSDID("$FreeBSD$"); static const struct schizo_desc *schizo_get_desc(device_t); static void schizo_set_intr(struct schizo_softc *, u_int, u_int, driver_filter_t); -static driver_filter_t schizo_dma_sync_stub; -static driver_filter_t ichip_dma_sync_stub; +static void schizo_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, + bus_dmasync_op_t op); +static void ichip_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, + bus_dmasync_op_t op); static void schizo_intr_enable(void *); static void schizo_intr_disable(void *); static void schizo_intr_assign(void *); @@ -109,18 +111,17 @@ static device_probe_t schizo_probe; static device_attach_t schizo_attach; static bus_read_ivar_t schizo_read_ivar; static bus_setup_intr_t schizo_setup_intr; -static bus_teardown_intr_t schizo_teardown_intr; static bus_alloc_resource_t schizo_alloc_resource; static bus_activate_resource_t schizo_activate_resource; static bus_deactivate_resource_t schizo_deactivate_resource; static bus_release_resource_t schizo_release_resource; -static bus_describe_intr_t schizo_describe_intr; static bus_get_dma_tag_t schizo_get_dma_tag; static pcib_maxslots_t schizo_maxslots; static pcib_read_config_t schizo_read_config; static pcib_write_config_t schizo_write_config; static pcib_route_interrupt_t schizo_route_interrupt; static ofw_bus_get_node_t schizo_get_node; +static ofw_pci_setup_device_t schizo_setup_device; static device_method_t schizo_methods[] = { /* Device interface */ @@ -134,12 +135,11 @@ static device_method_t schizo_methods[] DEVMETHOD(bus_print_child, bus_generic_print_child), DEVMETHOD(bus_read_ivar, schizo_read_ivar), DEVMETHOD(bus_setup_intr, schizo_setup_intr), - DEVMETHOD(bus_teardown_intr, schizo_teardown_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), DEVMETHOD(bus_alloc_resource, schizo_alloc_resource), DEVMETHOD(bus_activate_resource, schizo_activate_resource), DEVMETHOD(bus_deactivate_resource, schizo_deactivate_resource), DEVMETHOD(bus_release_resource, schizo_release_resource), - DEVMETHOD(bus_describe_intr, schizo_describe_intr), DEVMETHOD(bus_get_dma_tag, schizo_get_dma_tag), /* pcib interface */ @@ -151,6 +151,9 @@ static device_method_t schizo_methods[] /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_node, schizo_get_node), + /* ofw_pci interface */ + DEVMETHOD(ofw_pci_setup_device, schizo_setup_device), + KOBJMETHOD_END }; @@ -177,25 +180,27 @@ struct schizo_icarg { bus_addr_t sica_clr; }; -struct schizo_dma_sync { - struct schizo_softc *sds_sc; - driver_filter_t *sds_handler; - void *sds_arg; - void *sds_cookie; - uint64_t sds_syncval; - device_t sds_ppb; /* farest PCI-PCI bridge */ - uint8_t sds_bus; /* bus of farest PCI dev. */ - uint8_t sds_slot; /* slot of farest PCI dev. */ - uint8_t sds_func; /* func. of farest PCI dev. */ -}; - #define SCHIZO_PERF_CNT_QLTY 100 +#define SCHIZO_SPC_BARRIER(spc, sc, offs, len, flags) \ + bus_barrier((sc)->sc_mem_res[(spc)], (offs), (len), (flags)) #define SCHIZO_SPC_READ_8(spc, sc, offs) \ bus_read_8((sc)->sc_mem_res[(spc)], (offs)) #define SCHIZO_SPC_WRITE_8(spc, sc, offs, v) \ bus_write_8((sc)->sc_mem_res[(spc)], (offs), (v)) +#ifndef SCHIZO_DEBUG +#define SCHIZO_SPC_SET(spc, sc, offs, reg, v) \ + SCHIZO_SPC_WRITE_8((spc), (sc), (offs), (v)) +#else +#define SCHIZO_SPC_SET(spc, sc, offs, reg, v) do { \ + device_printf((sc)->sc_dev, reg " 0x%016llx -> 0x%016llx\n", \ + (unsigned long long)SCHIZO_SPC_READ_8((spc), (sc), (offs)), \ + (unsigned long long)(v)); \ + SCHIZO_SPC_WRITE_8((spc), (sc), (offs), (v)); \ + } while (0) +#endif + #define SCHIZO_PCI_READ_8(sc, offs) \ SCHIZO_SPC_READ_8(STX_PCI, (sc), (offs)) #define SCHIZO_PCI_WRITE_8(sc, offs, v) \ @@ -213,6 +218,11 @@ struct schizo_dma_sync { #define SCHIZO_ICON_WRITE_8(sc, offs, v) \ SCHIZO_SPC_WRITE_8(STX_ICON, (sc), (offs), (v)) +#define SCHIZO_PCI_SET(sc, offs, v) \ + SCHIZO_SPC_SET(STX_PCI, (sc), (offs), # offs, (v)) +#define SCHIZO_CTRL_SET(sc, offs, v) \ + SCHIZO_SPC_SET(STX_CTRL, (sc), (offs), # offs, (v)) + struct schizo_desc { const char *sd_string; int sd_mode; @@ -221,6 +231,9 @@ struct schizo_desc { static const struct schizo_desc const schizo_compats[] = { { "pci108e,8001", SCHIZO_MODE_SCZ, "Schizo" }, +#if 0 + { "pci108e,8002", SCHIZO_MODE_XMS, "XMITS" }, +#endif { "pci108e,a801", SCHIZO_MODE_TOM, "Tomatillo" }, { NULL, 0, NULL } }; @@ -340,65 +353,70 @@ schizo_attach(device_t dev) if (OF_getprop(node, "version#", &sc->sc_ver, sizeof(sc->sc_ver)) == -1) panic("%s: could not determine version", __func__); + if (mode == SCHIZO_MODE_XMS && OF_getprop(node, "module-revision#", + &sc->sc_mrev, sizeof(sc->sc_mrev)) == -1) + panic("%s: could not determine module-revision", __func__); if (OF_getprop(node, "clock-frequency", &prop, sizeof(prop)) == -1) prop = 33000000; - device_printf(dev, "%s, version %d, IGN %#x, bus %c, %dMHz\n", - desc->sd_name, sc->sc_ver, sc->sc_ign, 'A' + sc->sc_half, - prop / 1000 / 1000); + if (mode == SCHIZO_MODE_XMS && (SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL) & + XMS_PCI_CTRL_X_MODE) != 0) { + if (sc->sc_mrev < 1) + panic("PCI-X mode unsupported"); + sc->sc_flags |= SCHIZO_FLAGS_XMODE; + } + + device_printf(dev, "%s, version %d, ", desc->sd_name, sc->sc_ver); + if (mode == SCHIZO_MODE_XMS) + printf("module-revision %d, ", sc->sc_mrev); + printf("IGN %#x, bus %c, PCI%s mode, %dMHz\n", sc->sc_ign, + 'A' + sc->sc_half, (sc->sc_flags & SCHIZO_FLAGS_XMODE) != 0 ? + "-X" : "", prop / 1000 / 1000); /* Set up the PCI interrupt retry timer. */ -#ifdef SCHIZO_DEBUG - device_printf(dev, "PCI IRT 0x%016llx\n", (unsigned long long) - SCHIZO_PCI_READ_8(sc, STX_PCI_INTR_RETRY_TIM)); -#endif - SCHIZO_PCI_WRITE_8(sc, STX_PCI_INTR_RETRY_TIM, 5); + SCHIZO_PCI_SET(sc, STX_PCI_INTR_RETRY_TIM, 5); /* Set up the PCI control register. */ reg = SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL); + reg &= ~(TOM_PCI_CTRL_DTO_IEN | STX_PCI_CTRL_ARB_PARK | + STX_PCI_CTRL_ARB_MASK); reg |= STX_PCI_CTRL_MMU_IEN | STX_PCI_CTRL_SBH_IEN | - STX_PCI_CTRL_ERR_IEN | STX_PCI_CTRL_ARB_MASK; - reg &= ~(TOM_PCI_CTRL_DTO_IEN | STX_PCI_CTRL_ARB_PARK); + STX_PCI_CTRL_ERR_IEN; if (OF_getproplen(node, "no-bus-parking") < 0) reg |= STX_PCI_CTRL_ARB_PARK; + if (mode == SCHIZO_MODE_XMS && sc->sc_mrev == 1) + reg |= XMS_PCI_CTRL_XMITS10_ARB_MASK; + else + reg |= STX_PCI_CTRL_ARB_MASK; if (mode == SCHIZO_MODE_TOM) { reg |= TOM_PCI_CTRL_PRM | TOM_PCI_CTRL_PRO | TOM_PCI_CTRL_PRL; if (sc->sc_ver <= 1) /* revision <= 2.0 */ reg |= TOM_PCI_CTRL_DTO_IEN; else reg |= STX_PCI_CTRL_PTO; + } else if (mode == SCHIZO_MODE_XMS) { + SCHIZO_PCI_SET(sc, XMS_PCI_PARITY_DETECT, 0x3fff); + SCHIZO_PCI_SET(sc, XMS_PCI_UPPER_RETRY_COUNTER, 0x3e8); + reg |= XMS_PCI_CTRL_X_ERRINT_EN; } -#ifdef SCHIZO_DEBUG - device_printf(dev, "PCI CSR 0x%016llx -> 0x%016llx\n", - (unsigned long long)SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL), - (unsigned long long)reg); -#endif - SCHIZO_PCI_WRITE_8(sc, STX_PCI_CTRL, reg); + SCHIZO_PCI_SET(sc, STX_PCI_CTRL, reg); /* Set up the PCI diagnostic register. */ reg = SCHIZO_PCI_READ_8(sc, STX_PCI_DIAG); reg &= ~(SCZ_PCI_DIAG_RTRYARB_DIS | STX_PCI_DIAG_RETRY_DIS | STX_PCI_DIAG_INTRSYNC_DIS); -#ifdef SCHIZO_DEBUG - device_printf(dev, "PCI DR 0x%016llx -> 0x%016llx\n", - (unsigned long long)SCHIZO_PCI_READ_8(sc, STX_PCI_DIAG), - (unsigned long long)reg); -#endif - SCHIZO_PCI_WRITE_8(sc, STX_PCI_DIAG, reg); + SCHIZO_PCI_SET(sc, STX_PCI_DIAG, reg); /* * Enable DMA write parity error interrupts of version >= 7 (i.e. - * revision >= 2.5) Schizo. + * revision >= 2.5) Schizo and XMITS (enabling it on XMITS < 3.0 has + * no effect though). */ - if (mode == SCHIZO_MODE_SCZ && sc->sc_ver >= 7) { + if ((mode == SCHIZO_MODE_SCZ && sc->sc_ver >= 7) || + mode == SCHIZO_MODE_XMS) { reg = SCHIZO_PCI_READ_8(sc, SX_PCI_CFG_ICD); reg |= SX_PCI_CFG_ICD_DMAW_PERR_IEN; -#ifdef SCHIZO_DEBUG - device_printf(dev, "PCI CFG/ICD 0x%016llx -> 0x%016llx\n", - (unsigned long long)SCHIZO_PCI_READ_8(sc, SX_PCI_CFG_ICD), - (unsigned long long)reg); -#endif - SCHIZO_PCI_WRITE_8(sc, SX_PCI_CFG_ICD, reg); + SCHIZO_PCI_SET(sc, SX_PCI_CFG_ICD, reg); } /* @@ -406,7 +424,7 @@ schizo_attach(device_t dev) * Jalapeno bug). */ if (mode == SCHIZO_MODE_TOM) - SCHIZO_PCI_WRITE_8(sc, TOM_PCI_IOC_CSR, TOM_PCI_IOC_PW | + SCHIZO_PCI_SET(sc, TOM_PCI_IOC_CSR, TOM_PCI_IOC_PW | (1 << TOM_PCI_IOC_PREF_OFF_SHIFT) | TOM_PCI_IOC_CPRM | TOM_PCI_IOC_CPRO | TOM_PCI_IOC_CPRL); @@ -457,7 +475,7 @@ schizo_attach(device_t dev) * "pair" of Tomatillos, too. */ if (sc->sc_half == 0) { - SCHIZO_CTRL_WRITE_8(sc, STX_CTRL_PERF, + SCHIZO_CTRL_SET(sc, STX_CTRL_PERF, (STX_CTRL_PERF_DIS << STX_CTRL_PERF_CNT1_SHIFT) | (STX_CTRL_PERF_BUSCYC << STX_CTRL_PERF_CNT0_SHIFT)); tc = malloc(sizeof(*tc), M_DEVBUF, M_NOWAIT | M_ZERO); @@ -486,12 +504,15 @@ schizo_attach(device_t dev) * buffer, in Schizo version < 5 (i.e. revision < 2.3) it's * affected by several errata and basically unusable though. */ - sc->sc_is.is_flags = IOMMU_PRESERVE_PROM; - sc->sc_is.is_pmaxaddr = IOMMU_MAXADDR(STX_IOMMU_BITS); - sc->sc_is.is_sb[0] = sc->sc_is.is_sb[1] = 0; + memcpy(&sc->sc_dma_methods, &iommu_dma_methods, + sizeof(sc->sc_dma_methods)); + sc->sc_is.sis_sc = sc; + sc->sc_is.sis_is.is_flags = IOMMU_PRESERVE_PROM; + sc->sc_is.sis_is.is_pmaxaddr = IOMMU_MAXADDR(STX_IOMMU_BITS); + sc->sc_is.sis_is.is_sb[0] = sc->sc_is.sis_is.is_sb[1] = 0; if (OF_getproplen(node, "no-streaming-cache") < 0 && !(sc->sc_mode == SCHIZO_MODE_SCZ && sc->sc_ver < 5)) - sc->sc_is.is_sb[0] = STX_PCI_STRBUF; + sc->sc_is.sis_is.is_sb[0] = STX_PCI_STRBUF; #define TSBCASE(x) \ case (IOTSB_BASESZ << (x)) << (IO_PAGE_SHIFT - IOTTE_SHIFT): \ @@ -564,12 +585,13 @@ schizo_attach(device_t dev) sc->sc_pci_iot = schizo_alloc_bus_tag(sc, PCI_IO_BUS_SPACE); sc->sc_pci_cfgt = schizo_alloc_bus_tag(sc, PCI_CONFIG_BUS_SPACE); if (bus_dma_tag_create(bus_get_dma_tag(dev), 8, 0, - sc->sc_is.is_pmaxaddr, ~0, NULL, NULL, sc->sc_is.is_pmaxaddr, - 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_pci_dmat) != 0) + sc->sc_is.sis_is.is_pmaxaddr, ~0, NULL, NULL, + sc->sc_is.sis_is.is_pmaxaddr, 0xff, 0xffffffff, 0, NULL, NULL, + &sc->sc_pci_dmat) != 0) panic("%s: bus_dma_tag_create failed", __func__); /* Customize the tag. */ sc->sc_pci_dmat->dt_cookie = &sc->sc_is; - sc->sc_pci_dmat->dt_mt = &iommu_dma_methods; + sc->sc_pci_dmat->dt_mt = &sc->sc_dma_methods; /* * Get the bus range from the firmware. @@ -591,10 +613,8 @@ schizo_attach(device_t dev) PCIB_WRITE_CONFIG(dev, sc->sc_pci_secbus, STX_CS_DEVICE, STX_CS_FUNC, PCIR_STATUS, PCIB_READ_CONFIG(dev, sc->sc_pci_secbus, STX_CS_DEVICE, STX_CS_FUNC, PCIR_STATUS, 2), 2); - SCHIZO_PCI_WRITE_8(sc, STX_PCI_CTRL, - SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL)); - SCHIZO_PCI_WRITE_8(sc, STX_PCI_AFSR, - SCHIZO_PCI_READ_8(sc, STX_PCI_AFSR)); + SCHIZO_PCI_SET(sc, STX_PCI_CTRL, SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL)); + SCHIZO_PCI_SET(sc, STX_PCI_AFSR, SCHIZO_PCI_READ_8(sc, STX_PCI_AFSR)); /* * Establish handlers for interesting interrupts... @@ -671,9 +691,10 @@ schizo_attach(device_t dev) if ((sc->sc_mode == SCHIZO_MODE_SCZ && sc->sc_ver >= 5) || sc->sc_mode == SCHIZO_MODE_TOM || sc->sc_mode == SCHIZO_MODE_XMS) { - sc->sc_flags |= SCHIZO_FLAGS_CDMA; if (sc->sc_mode == SCHIZO_MODE_SCZ) { - sc->sc_cdma_state = SCHIZO_CDMA_STATE_DONE; + sc->sc_dma_methods.dm_dmamap_sync = + schizo_dmamap_sync; + sc->sc_cdma_state = SCHIZO_CDMA_STATE_IDLE; /* * Some firmware versions include the CDMA interrupt * at RID 4 but most don't. With the latter we add @@ -700,6 +721,14 @@ schizo_attach(device_t dev) &sc->sc_cdma_clr); schizo_set_intr(sc, 5, i, schizo_cdma); } + } else { + if (sc->sc_mode == SCHIZO_MODE_XMS) + mtx_init(&sc->sc_sync_mtx, "pcib_sync_mtx", + NULL, MTX_SPIN); + sc->sc_sync_val = 1ULL << (STX_PCIERR_A_INO + + sc->sc_half); + sc->sc_dma_methods.dm_dmamap_sync = + ichip_dmamap_sync; } if (sc->sc_mode == SCHIZO_MODE_TOM && sc->sc_ver <= 4) sc->sc_flags |= SCHIZO_FLAGS_BSWAR; @@ -820,7 +849,7 @@ static int schizo_pci_bus(void *arg) { struct schizo_softc *sc = arg; - uint64_t afar, afsr, csr, iommu; + uint64_t afar, afsr, csr, iommu, xstat; uint32_t status; u_int fatal; @@ -832,6 +861,10 @@ schizo_pci_bus(void *arg) afsr = SCHIZO_PCI_READ_8(sc, STX_PCI_AFSR); csr = SCHIZO_PCI_READ_8(sc, STX_PCI_CTRL); iommu = SCHIZO_PCI_READ_8(sc, STX_PCI_IOMMU); + if ((sc->sc_flags & SCHIZO_FLAGS_XMODE) != 0) + xstat = SCHIZO_PCI_READ_8(sc, XMS_PCI_X_ERR_STAT); + else + xstat = 0; status = PCIB_READ_CONFIG(sc->sc_dev, sc->sc_pci_secbus, STX_CS_DEVICE, STX_CS_FUNC, PCIR_STATUS, 2); @@ -858,14 +891,19 @@ schizo_pci_bus(void *arg) STX_PCI_AFSR_P_RTRY | STX_PCI_AFSR_P_PERR | STX_PCI_AFSR_P_TTO | STX_PCI_AFSR_P_UNUS)) != 0) fatal = 1; + if (xstat & (XMS_PCI_X_ERR_STAT_P_SC_DSCRD | + XMS_PCI_X_ERR_STAT_P_SC_TTO | XMS_PCI_X_ERR_STAT_P_SDSTAT | + XMS_PCI_X_ERR_STAT_P_SMMU | XMS_PCI_X_ERR_STAT_P_CDSTAT | + XMS_PCI_X_ERR_STAT_P_CMMU | XMS_PCI_X_ERR_STAT_PERR_RCV)) + fatal = 1; if (fatal == 0) sc->sc_stats_pci_non_fatal++; device_printf(sc->sc_dev, "PCI bus %c error AFAR %#llx AFSR %#llx " - "PCI CSR %#llx IOMMU %#llx STATUS %#llx\n", 'A' + sc->sc_half, - (unsigned long long)afar, (unsigned long long)afsr, - (unsigned long long)csr, (unsigned long long)iommu, - (unsigned long long)status); + "PCI CSR %#llx IOMMU %#llx PCI-X %#llx STATUS %#x\n", + 'A' + sc->sc_half, (unsigned long long)afar, + (unsigned long long)afsr, (unsigned long long)csr, + (unsigned long long)iommu, (unsigned long long)xstat, status); /* Clear the error bits that we caught. */ PCIB_WRITE_CONFIG(sc->sc_dev, sc->sc_pci_secbus, STX_CS_DEVICE, @@ -873,6 +911,8 @@ schizo_pci_bus(void *arg) SCHIZO_PCI_WRITE_8(sc, STX_PCI_CTRL, csr); SCHIZO_PCI_WRITE_8(sc, STX_PCI_AFSR, afsr); SCHIZO_PCI_WRITE_8(sc, STX_PCI_IOMMU, iommu); + if ((sc->sc_flags & SCHIZO_FLAGS_XMODE) != 0) + SCHIZO_PCI_WRITE_8(sc, XMS_PCI_X_ERR_STAT, xstat); mtx_unlock_spin(sc->sc_mtx); @@ -945,7 +985,7 @@ schizo_cdma(void *arg) { struct schizo_softc *sc = arg; - atomic_store_rel_32(&sc->sc_cdma_state, SCHIZO_CDMA_STATE_DONE); + atomic_store_rel_32(&sc->sc_cdma_state, SCHIZO_CDMA_STATE_RECEIVED); return (FILTER_HANDLED); } @@ -954,17 +994,18 @@ schizo_iommu_init(struct schizo_softc *s { /* Punch in our copies. */ - sc->sc_is.is_bustag = rman_get_bustag(sc->sc_mem_res[STX_PCI]); - sc->sc_is.is_bushandle = rman_get_bushandle(sc->sc_mem_res[STX_PCI]); - sc->sc_is.is_iommu = STX_PCI_IOMMU; - sc->sc_is.is_dtag = STX_PCI_IOMMU_TLB_TAG_DIAG; - sc->sc_is.is_ddram = STX_PCI_IOMMU_TLB_DATA_DIAG; - sc->sc_is.is_dqueue = STX_PCI_IOMMU_QUEUE_DIAG; - sc->sc_is.is_dva = STX_PCI_IOMMU_SVADIAG; - sc->sc_is.is_dtcmp = STX_PCI_IOMMU_TLB_CMP_DIAG; + sc->sc_is.sis_is.is_bustag = rman_get_bustag(sc->sc_mem_res[STX_PCI]); + sc->sc_is.sis_is.is_bushandle = + rman_get_bushandle(sc->sc_mem_res[STX_PCI]); + sc->sc_is.sis_is.is_iommu = STX_PCI_IOMMU; + sc->sc_is.sis_is.is_dtag = STX_PCI_IOMMU_TLB_TAG_DIAG; + sc->sc_is.sis_is.is_ddram = STX_PCI_IOMMU_TLB_DATA_DIAG; + sc->sc_is.sis_is.is_dqueue = STX_PCI_IOMMU_QUEUE_DIAG; + sc->sc_is.sis_is.is_dva = STX_PCI_IOMMU_SVADIAG; + sc->sc_is.sis_is.is_dtcmp = STX_PCI_IOMMU_TLB_CMP_DIAG; - iommu_init(device_get_nameunit(sc->sc_dev), &sc->sc_is, tsbsize, - dvmabase, 0); + iommu_init(device_get_nameunit(sc->sc_dev), + (struct iommu_state *)&sc->sc_is, tsbsize, dvmabase, 0); } static int @@ -1103,67 +1144,100 @@ schizo_read_ivar(device_t dev, device_t return (ENOENT); } -static int -schizo_dma_sync_stub(void *arg) +static void +schizo_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op) { struct timeval cur, end; - struct schizo_dma_sync *sds = arg; - struct schizo_softc *sc = sds->sds_sc; - uint32_t state; - - (void)PCIB_READ_CONFIG(sds->sds_ppb, sds->sds_bus, sds->sds_slot, - sds->sds_func, PCIR_VENDOR, 2); - for (; atomic_cmpset_acq_32(&sc->sc_cdma_state, - SCHIZO_CDMA_STATE_DONE, SCHIZO_CDMA_STATE_PENDING) == 0;) - ; - SCHIZO_PCI_WRITE_8(sc, sc->sc_cdma_clr, INTCLR_RECEIVED); - microuptime(&cur); - end.tv_sec = 1; - end.tv_usec = 0; - timevaladd(&end, &cur); - for (; (state = atomic_load_32(&sc->sc_cdma_state)) != - SCHIZO_CDMA_STATE_DONE && timevalcmp(&cur, &end, <=);) + struct schizo_iommu_state *sis = dt->dt_cookie; + struct schizo_softc *sc = sis->sis_sc; + int res; + + if ((map->dm_flags & DMF_STREAMED) != 0) { + iommu_dma_methods.dm_dmamap_sync(dt, map, op); + return; + } + + if ((map->dm_flags & DMF_LOADED) == 0) + return; + + if ((op & BUS_DMASYNC_POSTREAD) != 0) { + /* + * Note that in order to allow this function to be called from + * filters we would need to use a spin mutex for serialization + * but given that these disable interrupts we have to emulate + * one. + */ + for (; atomic_cmpset_acq_32(&sc->sc_cdma_state, + SCHIZO_CDMA_STATE_IDLE, SCHIZO_CDMA_STATE_PENDING) == 0;) + ; + SCHIZO_PCI_WRITE_8(sc, sc->sc_cdma_clr, INTCLR_RECEIVED); microuptime(&cur); - if (state != SCHIZO_CDMA_STATE_DONE) - panic("%s: DMA does not sync", __func__); - return (sds->sds_handler(sds->sds_arg)); + end.tv_sec = 1; + end.tv_usec = 0; + timevaladd(&end, &cur); + for (; (res = atomic_cmpset_rel_32(&sc->sc_cdma_state, + SCHIZO_CDMA_STATE_RECEIVED, SCHIZO_CDMA_STATE_IDLE)) == + 0 && timevalcmp(&cur, &end, <=);) + microuptime(&cur); + if (res == 0) + panic("%s: DMA does not sync", __func__); + } + + if ((op & BUS_DMASYNC_PREWRITE) != 0) + membar(Sync); } #define VIS_BLOCKSIZE 64 -static int -ichip_dma_sync_stub(void *arg) +static void +ichip_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op) { static u_char buf[VIS_BLOCKSIZE] __aligned(VIS_BLOCKSIZE); struct timeval cur, end; - struct schizo_dma_sync *sds = arg; - struct schizo_softc *sc = sds->sds_sc; + struct schizo_iommu_state *sis = dt->dt_cookie; + struct schizo_softc *sc = sis->sis_sc; register_t reg, s; - (void)PCIB_READ_CONFIG(sds->sds_ppb, sds->sds_bus, sds->sds_slot, - sds->sds_func, PCIR_VENDOR, 2); - SCHIZO_PCI_WRITE_8(sc, TOMXMS_PCI_DMA_SYNC_PEND, sds->sds_syncval); - microuptime(&cur); - end.tv_sec = 1; - end.tv_usec = 0; - timevaladd(&end, &cur); - for (; ((reg = SCHIZO_PCI_READ_8(sc, TOMXMS_PCI_DMA_SYNC_PEND)) & - sds->sds_syncval) != 0 && timevalcmp(&cur, &end, <=);) + if ((map->dm_flags & DMF_STREAMED) != 0) { + iommu_dma_methods.dm_dmamap_sync(dt, map, op); + return; + } + + if ((map->dm_flags & DMF_LOADED) == 0) + return; + + if ((op & BUS_DMASYNC_POSTREAD) != 0) { + if (sc->sc_mode == SCHIZO_MODE_XMS) + mtx_lock_spin(&sc->sc_sync_mtx); + SCHIZO_PCI_WRITE_8(sc, TOMXMS_PCI_DMA_SYNC_PEND, + sc->sc_sync_val); microuptime(&cur); - if ((reg & sds->sds_syncval) != 0) - panic("%s: DMA does not sync", __func__); + end.tv_sec = 1; + end.tv_usec = 0; + timevaladd(&end, &cur); + for (; ((reg = SCHIZO_PCI_READ_8(sc, + TOMXMS_PCI_DMA_SYNC_PEND)) & sc->sc_sync_val) != 0 && + timevalcmp(&cur, &end, <=);) + microuptime(&cur); + if ((reg & sc->sc_sync_val) != 0) + panic("%s: DMA does not sync", __func__); + if (sc->sc_mode == SCHIZO_MODE_XMS) + mtx_unlock_spin(&sc->sc_sync_mtx); + else if ((sc->sc_flags & SCHIZO_FLAGS_BSWAR) != 0) { + s = intr_disable(); + reg = rd(fprs); + wr(fprs, reg | FPRS_FEF, 0); + __asm __volatile("stda %%f0, [%0] %1" + : : "r" (buf), "n" (ASI_BLK_COMMIT_S)); + membar(Sync); + wr(fprs, reg, 0); + intr_restore(s); + return; + } + } - if ((sc->sc_flags & SCHIZO_FLAGS_BSWAR) != 0) { - s = intr_disable(); - reg = rd(fprs); - wr(fprs, reg | FPRS_FEF, 0); - __asm __volatile("stda %%f0, [%0] %1" - : : "r" (buf), "n" (ASI_BLK_COMMIT_S)); + if ((op & BUS_DMASYNC_PREWRITE) != 0) membar(Sync); - wr(fprs, reg, 0); - intr_restore(s); - } - return (sds->sds_handler(sds->sds_arg)); } static void @@ -1209,12 +1283,9 @@ schizo_setup_intr(device_t dev, device_t int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) { - devclass_t pci_devclass; - device_t cdev, pdev, pcidev; - struct schizo_dma_sync *sds; struct schizo_softc *sc; u_long vec; - int error, found; + int error; sc = device_get_softc(dev); /* @@ -1252,112 +1323,10 @@ schizo_setup_intr(device_t dev, device_t "invalid interrupt controller for vector 0x%lx\n", vec); return (EINVAL); } - - /* - * Install a a wrapper for CDMA flushing/syncing for devices - * behind PCI-PCI bridges if possible. - */ - pcidev = NULL; - found = 0; - pci_devclass = devclass_find("pci"); - for (cdev = child; cdev != dev; cdev = pdev) { - pdev = device_get_parent(cdev); - if (pcidev == NULL) { - if (device_get_devclass(pdev) != pci_devclass) - continue; - pcidev = cdev; - continue; - } - if (pci_get_class(cdev) == PCIC_BRIDGE && - pci_get_subclass(cdev) == PCIS_BRIDGE_PCI) - found = 1; - } - if ((sc->sc_flags & SCHIZO_FLAGS_CDMA) != 0) { - sds = malloc(sizeof(*sds), M_DEVBUF, M_NOWAIT | M_ZERO); - if (sds == NULL) - return (ENOMEM); - if (found != 0 && pcidev != NULL) { - sds->sds_sc = sc; - sds->sds_arg = arg; - sds->sds_ppb = - device_get_parent(device_get_parent(pcidev)); - sds->sds_bus = pci_get_bus(pcidev); - sds->sds_slot = pci_get_slot(pcidev); - sds->sds_func = pci_get_function(pcidev); - sds->sds_syncval = 1ULL << INTINO(vec); - if (bootverbose) - device_printf(dev, "installed DMA sync " - "wrapper for device %d.%d on bus %d\n", - sds->sds_slot, sds->sds_func, - sds->sds_bus); - -#define DMA_SYNC_STUB \ - (sc->sc_mode == SCHIZO_MODE_SCZ ? schizo_dma_sync_stub : \ - ichip_dma_sync_stub) - - if (intr == NULL) { - sds->sds_handler = filt; - error = bus_generic_setup_intr(dev, child, - ires, flags, DMA_SYNC_STUB, intr, sds, - cookiep); - } else { - sds->sds_handler = (driver_filter_t *)intr; - error = bus_generic_setup_intr(dev, child, - ires, flags, filt, (driver_intr_t *) - DMA_SYNC_STUB, sds, cookiep); - } - -#undef DMA_SYNC_STUB - - } else - error = bus_generic_setup_intr(dev, child, ires, - flags, filt, intr, arg, cookiep); - if (error != 0) { - free(sds, M_DEVBUF); - return (error); - } - sds->sds_cookie = *cookiep; - *cookiep = sds; - return (error); - } else if (found != 0) - device_printf(dev, "WARNING: using devices behind PCI-PCI " - "bridges may cause data corruption\n"); return (bus_generic_setup_intr(dev, child, ires, flags, filt, intr, arg, cookiep)); } -static int -schizo_teardown_intr(device_t dev, device_t child, struct resource *vec, - void *cookie) -{ - struct schizo_dma_sync *sds; - struct schizo_softc *sc; - int error; - - sc = device_get_softc(dev); - if ((sc->sc_flags & SCHIZO_FLAGS_CDMA) != 0) { - sds = cookie; - error = bus_generic_teardown_intr(dev, child, vec, - sds->sds_cookie); - if (error == 0) - free(sds, M_DEVBUF); - return (error); - } - return (bus_generic_teardown_intr(dev, child, vec, cookie)); -} - -static int -schizo_describe_intr(device_t dev, device_t child, struct resource *vec, - void *cookie, const char *descr) -{ - struct schizo_softc *sc; - - sc = device_get_softc(dev); - if ((sc->sc_flags & SCHIZO_FLAGS_CDMA) != 0) - cookie = ((struct schizo_dma_sync *)cookie)->sds_cookie; - return (bus_generic_describe_intr(dev, child, vec, cookie, descr)); -} - static struct resource * schizo_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) @@ -1476,7 +1445,7 @@ schizo_release_resource(device_t bus, de } static bus_dma_tag_t -schizo_get_dma_tag(device_t bus, device_t child) +schizo_get_dma_tag(device_t bus, device_t child __unused) { struct schizo_softc *sc; @@ -1485,7 +1454,7 @@ schizo_get_dma_tag(device_t bus, device_ } static phandle_t -schizo_get_node(device_t bus, device_t dev) +schizo_get_node(device_t bus, device_t child __unused) { struct schizo_softc *sc; @@ -1494,6 +1463,42 @@ schizo_get_node(device_t bus, device_t d return (sc->sc_node); } +static void +schizo_setup_device(device_t bus, device_t child) +{ + struct schizo_softc *sc; + uint64_t reg; + int capreg; + + sc = device_get_softc(bus); + /* + * Disable bus parking in order to work around a bus hang caused by + * Casinni/Skyhawk combinations. + */ + if (OF_getproplen(ofw_bus_get_node(child), "pci-req-removal") >= 0) + SCHIZO_PCI_SET(sc, STX_PCI_CTRL, SCHIZO_PCI_READ_8(sc, + STX_PCI_CTRL) & ~STX_PCI_CTRL_ARB_PARK); + + if (sc->sc_mode == SCHIZO_MODE_XMS) { + /* XMITS NCPQ WAR: set outstanding split transactions to 1. */ + if ((sc->sc_flags & SCHIZO_FLAGS_XMODE) != 0 && + (pci_read_config(child, PCIR_HDRTYPE, 1) & + PCIM_HDRTYPE) != PCIM_HDRTYPE_BRIDGE && + pci_find_cap(child, PCIY_PCIX, &capreg) == 0) + pci_write_config(child, capreg + PCIXR_COMMAND, + pci_read_config(child, capreg + PCIXR_COMMAND, + 2) & 0x7c, 2); + /* XMITS 3.x WAR: set BUGCNTL iff value is unexpected. */ + if (sc->sc_mrev >= 4) { + reg = ((sc->sc_flags & SCHIZO_FLAGS_XMODE) != 0 ? + 0xa0UL : 0xffUL) << XMS_PCI_X_DIAG_BUGCNTL_SHIFT; + if ((SCHIZO_PCI_READ_8(sc, XMS_PCI_X_DIAG) & + XMS_PCI_X_DIAG_BUGCNTL_MASK) != reg) + SCHIZO_PCI_SET(sc, XMS_PCI_X_DIAG, reg); + } + } +} + static bus_space_tag_t schizo_alloc_bus_tag(struct schizo_softc *sc, int type) { Modified: head/sys/sparc64/pci/schizoreg.h ============================================================================== --- head/sys/sparc64/pci/schizoreg.h Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/schizoreg.h Sat Mar 26 16:49:12 2011 (r220038) @@ -55,9 +55,13 @@ #define STX_PCI_AFSR 0x02010 #define STX_PCI_AFAR 0x02018 #define STX_PCI_DIAG 0x02020 +#define XMS_PCI_PARITY_DETECT 0x02040 #define TOM_PCI_IOC_CSR 0x02248 #define TOM_PCI_IOC_TAG 0x02290 #define TOM_PCI_IOC_DATA 0x02290 +#define XMS_PCI_X_ERR_STAT 0x02300 +#define XMS_PCI_X_DIAG 0x02308 +#define XMS_PCI_UPPER_RETRY_COUNTER 0x02310 #define STX_PCI_STRBUF 0x02800 #define STX_PCI_STRBUF_CTXFLUSH 0x02818 #define STX_PCI_IOMMU_SVADIAG 0x0a400 @@ -68,7 +72,7 @@ #define STX_PCI_IOBIO_DIAG 0x0a808 #define STX_PCI_STRBUF_CTXMATCH 0x10000 -/* PCI configuration/idle check diagnostic registers */ +/* PCI configuration/idle check diagnostic register */ #define SX_PCI_CFG_ICD_PCI_2_0_COMPAT 0x0000000000008000ULL #define SX_PCI_CFG_ICD_DMAW_PERR_IEN 0x0000000000004000ULL #define SX_PCI_CFG_ICD_IFC_NOT_IDLE 0x0000000000000010ULL @@ -77,7 +81,7 @@ #define SX_PCI_CFG_ICD_PBM_NOT_IDLE 0x0000000000000002ULL #define SX_PCI_CFG_ICD_STC_NOT_IDLE 0x0000000000000001ULL -/* PCI IOMMU control registers */ +/* PCI IOMMU control register */ #define TOM_PCI_IOMMU_ERR_BAD_VA 0x0000000010000000ULL #define TOM_PCI_IOMMU_ERR_ILLTSBTBW 0x0000000008000000ULL #define TOM_PCI_IOMMU_ECC_ERR 0x0000000006000000ULL @@ -94,6 +98,7 @@ #define TOM_PCI_CTRL_DTO_ERR 0x4000000000000000ULL #define TOM_PCI_CTRL_DTO_IEN 0x2000000000000000ULL #define SCZ_PCI_CTRL_ESLCK 0x0008000000000000ULL +#define XMS_PCI_CTRL_DMA_WR_PERR 0x0008000000000000ULL #define SCZ_PCI_CTRL_ERRSLOT 0x0007000000000000ULL #define STX_PCI_CTRL_TTO_ERR 0x0000004000000000ULL #define STX_PCI_CTRL_RTRY_ERR 0x0000002000000000ULL @@ -101,16 +106,19 @@ #define SCZ_PCI_CTRL_SBH_ERR 0x0000000800000000ULL #define STX_PCI_CTRL_SERR 0x0000000400000000ULL #define SCZ_PCI_CTRL_PCISPD 0x0000000200000000ULL +#define XMS_PCI_CTRL_X_MODE 0x0000000100000000ULL #define TOM_PCI_CTRL_PRM 0x0000000040000000ULL #define TOM_PCI_CTRL_PRO 0x0000000020000000ULL #define TOM_PCI_CTRL_PRL 0x0000000010000000ULL #define STX_PCI_CTRL_PTO 0x0000000003000000ULL +#define XMS_PCI_CTRL_X_ERRINT_EN 0x0000000000100000ULL #define STX_PCI_CTRL_MMU_IEN 0x0000000000080000ULL #define STX_PCI_CTRL_SBH_IEN 0x0000000000040000ULL #define STX_PCI_CTRL_ERR_IEN 0x0000000000020000ULL #define STX_PCI_CTRL_ARB_PARK 0x0000000000010000ULL #define SCZ_PCI_CTRL_PCIRST 0x0000000000000100ULL #define STX_PCI_CTRL_ARB_MASK 0x00000000000000ffULL +#define XMS_PCI_CTRL_XMITS10_ARB_MASK 0x000000000000000fULL /* PCI asynchronous fault status register */ #define STX_PCI_AFSR_P_MA 0x8000000000000000ULL @@ -160,6 +168,32 @@ #define TOM_PCI_IOC_CPRO 0x0000000000000002ULL #define TOM_PCI_IOC_CPRL 0x0000000000000001ULL +/* XMITS PCI-X error status register */ +#define XMS_PCI_X_ERR_STAT_P_SC_DSCRD 0x8000000000000000ULL +#define XMS_PCI_X_ERR_STAT_P_SC_TTO 0x4000000000000000ULL +#define XMS_PCI_X_ERR_STAT_P_SDSTAT 0x2000000000000000ULL +#define XMS_PCI_X_ERR_STAT_P_SMMU 0x1000000000000000ULL +#define XMS_PCI_X_ERR_STAT_P_CDSTAT 0x0800000000000000ULL +#define XMS_PCI_X_ERR_STAT_P_CMMU 0x0400000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_SC_DSCRD 0x0080000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_SC_TTO 0x0040000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_SDSTAT 0x0020000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_SMMU 0x0010000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_CDSTAT 0x0008000000000000ULL +#define XMS_PCI_X_ERR_STAT_S_CMMU 0x0004000000000000ULL +#define XMS_PCI_X_ERR_STAT_PERR_RCV_IEN 0x0000000400000000ULL +#define XMS_PCI_X_ERR_STAT_PERR_RCV 0x0000000200000000ULL +#define XMS_PCI_X_ERR_STAT_SERR_ON_PERR 0x0000000100000000ULL + +/* XMITS PCI-X diagnostic register */ +#define XMS_PCI_X_DIAG_DIS_FAIR 0x0000000000080000ULL +#define XMS_PCI_X_DIAG_CRCQ_VALID 0x0000000000040000ULL +#define XMS_PCI_X_DIAG_SRCQ_ONE 0x0000000000000200ULL +#define XMS_PCI_X_DIAG_CRCQ_FLUSH 0x0000000000000100ULL +#define XMS_PCI_X_DIAG_BUGCNTL_MASK 0x0000ffff00000000ULL +#define XMS_PCI_X_DIAG_BUGCNTL_SHIFT 32 +#define XMS_PCI_X_DIAG_SRCQ_MASK 0x00000000000000ffULL + /* Controller configuration and status registers */ /* Note that these are shared on Schizo but per-PBM on Tomatillo. */ #define STX_CTRL_BUS_ERRLOG 0x00018 Modified: head/sys/sparc64/pci/schizovar.h ============================================================================== --- head/sys/sparc64/pci/schizovar.h Sat Mar 26 13:58:44 2011 (r220037) +++ head/sys/sparc64/pci/schizovar.h Sat Mar 26 16:49:12 2011 (r220038) @@ -31,9 +31,21 @@ #ifndef _SPARC64_PCI_SCHIZOVAR_H_ #define _SPARC64_PCI_SCHIZOVAR_H_ +struct schizo_softc; + +struct schizo_iommu_state { + struct iommu_state sis_is; + struct schizo_softc *sis_sc; +}; + struct schizo_softc { + struct bus_dma_methods sc_dma_methods; + device_t sc_dev; + struct mtx sc_sync_mtx; + uint64_t sc_sync_val; + struct mtx *sc_mtx; phandle_t sc_node; @@ -45,22 +57,24 @@ struct schizo_softc { u_int sc_flags; #define SCHIZO_FLAGS_BSWAR (1 << 0) -#define SCHIZO_FLAGS_CDMA (1 << 1) +#define SCHIZO_FLAGS_XMODE (1 << 1) bus_addr_t sc_cdma_clr; uint32_t sc_cdma_state; -#define SCHIZO_CDMA_STATE_DONE (1 << 0) +#define SCHIZO_CDMA_STATE_IDLE (1 << 0) #define SCHIZO_CDMA_STATE_PENDING (1 << 1) +#define SCHIZO_CDMA_STATE_RECEIVED (1 << 2) u_int sc_half; uint32_t sc_ign; uint32_t sc_ver; + uint32_t sc_mrev; struct resource *sc_mem_res[TOM_NREG]; struct resource *sc_irq_res[STX_NINTR]; void *sc_ihand[STX_NINTR]; - struct iommu_state sc_is; + struct schizo_iommu_state sc_is; struct rman sc_pci_mem_rman; struct rman sc_pci_io_rman; _______________________________________________ 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" ----- End forwarded message ----- From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 21 22:34:16 2011 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 325D9106566B; Thu, 21 Apr 2011 22:34:16 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id DB8848FC1C; Thu, 21 Apr 2011 22:34:15 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.4) with ESMTP id p3LMYFQB011241; Thu, 21 Apr 2011 18:34:15 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.4/Submit) id p3LMYFBi011240; Thu, 21 Apr 2011 22:34:15 GMT (envelope-from tinderbox@freebsd.org) Date: Thu, 21 Apr 2011 22:34:15 GMT Message-Id: <201104212234.p3LMYFBi011240@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk 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: Thu, 21 Apr 2011 22:34:16 -0000 TB --- 2011-04-21 21:20:20 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2011-04-21 21:20:20 - starting HEAD tinderbox run for sparc64/sun4v TB --- 2011-04-21 21:20:20 - cleaning the object tree TB --- 2011-04-21 21:20:29 - cvsupping the source tree TB --- 2011-04-21 21:20:29 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/sparc64/sun4v/supfile TB --- 2011-04-21 21:20:43 - building world TB --- 2011-04-21 21:20:43 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 21:20:43 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 21:20:43 - TARGET=sun4v TB --- 2011-04-21 21:20:43 - TARGET_ARCH=sparc64 TB --- 2011-04-21 21:20:43 - TZ=UTC TB --- 2011-04-21 21:20:43 - __MAKE_CONF=/dev/null TB --- 2011-04-21 21:20:43 - cd /src TB --- 2011-04-21 21:20:43 - /usr/bin/make -B buildworld >>> World build started on Thu Apr 21 21:20:44 UTC 2011 >>> 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 >>> stage 4.4: building everything >>> World build completed on Thu Apr 21 22:21:45 UTC 2011 TB --- 2011-04-21 22:21:45 - generating LINT kernel config TB --- 2011-04-21 22:21:45 - cd /src/sys/sun4v/conf TB --- 2011-04-21 22:21:45 - /usr/bin/make -B LINT TB --- 2011-04-21 22:21:45 - building LINT kernel TB --- 2011-04-21 22:21:45 - MAKEOBJDIRPREFIX=/obj TB --- 2011-04-21 22:21:45 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2011-04-21 22:21:45 - TARGET=sun4v TB --- 2011-04-21 22:21:45 - TARGET_ARCH=sparc64 TB --- 2011-04-21 22:21:45 - TZ=UTC TB --- 2011-04-21 22:21:45 - __MAKE_CONF=/dev/null TB --- 2011-04-21 22:21:45 - cd /src TB --- 2011-04-21 22:21:45 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Apr 21 22:21:45 UTC 2011 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] g_eli_privacy.o: In function `g_eli_crypto_run': g_eli_privacy.c:(.text+0x11c): undefined reference to `g_eli_key_hold' g_eli_privacy.c:(.text+0x284): undefined reference to `g_eli_key_hold' g_eli_privacy.o: In function `g_eli_crypto_write_done': g_eli_privacy.c:(.text+0x468): undefined reference to `g_eli_key_drop' g_eli_privacy.o: In function `g_eli_crypto_read_done': g_eli_privacy.c:(.text+0xbb8): undefined reference to `g_eli_key_drop' g_eli_privacy.c:(.text+0xcc8): undefined reference to `g_eli_key_drop' *** Error code 1 Stop in /obj/sun4v.sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2011-04-21 22:34:15 - WARNING: /usr/bin/make returned exit code 1 TB --- 2011-04-21 22:34:15 - ERROR: failed to build lint kernel TB --- 2011-04-21 22:34:15 - 3456.56 user 705.34 system 4434.23 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sun4v.full