From ralf@linux-mips.org Fri Feb  1 09:32:09 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 01 Feb 2008 09:32:12 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:60567 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20026587AbYBAJcJ (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 1 Feb 2008 09:32:09 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m119W976018222;
	Fri, 1 Feb 2008 09:32:09 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m119W9HY018221;
	Fri, 1 Feb 2008 09:32:09 GMT
Date:	Fri, 1 Feb 2008 09:32:09 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Chris Friesen <cfriesen@nortel.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: kexec on SMP mips64?
Message-ID: <20080201093209.GA18195@linux-mips.org>
References: <47A21286.3020009@nortel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47A21286.3020009@nortel.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18163
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Thu, Jan 31, 2008 at 12:25:10PM -0600, Chris Friesen wrote:

> We're starting work on an embedded highly-available product using dual 
> Octeon cpus, and I'm looking into the possibility of using kexec/kdump as a 
> "flight recorder" to dump fault information to a persistant storage 
> location.
>
> I saw the patch adding initial support for kexec, but I was curious about 
> the current status.  Is anyone using kexec for mips64 SMP systems?  Is it 
> known to be broken?  I'm just trying to get a feel for how much work might 
> be involved.

I would classify the code as untested and suspect.

  Ralf

From nschichan@freebox.fr Fri Feb  1 12:21:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 01 Feb 2008 12:21:55 +0000 (GMT)
Received: from bobafett.staff.proxad.net ([213.228.1.121]:57730 "EHLO
	bobafett.staff.proxad.net") by ftp.linux-mips.org with ESMTP
	id S20027576AbYBAMVp (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 1 Feb 2008 12:21:45 +0000
Received: from localhost (localhost [127.0.0.1])
	by bobafett.staff.proxad.net (Postfix) with ESMTP id 12E832868E;
	Fri,  1 Feb 2008 13:21:45 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at staff.proxad.net
Received: from bobafett.staff.proxad.net ([127.0.0.1])
	by localhost (bobafett.staff.proxad.net [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id wqPvvLOgxsTe; Fri,  1 Feb 2008 13:21:43 +0100 (CET)
Received: from nschichan.priv.staff.proxad.net (nschichan.priv.staff.proxad.net [172.18.3.120])
	by bobafett.staff.proxad.net (Postfix) with ESMTP id D7E67CE8C;
	Fri,  1 Feb 2008 13:21:43 +0100 (CET)
From:	Nicolas Schichan <nschichan@freebox.fr>
Organization: Freebox
To:	"Chris Friesen" <cfriesen@nortel.com>
Subject: Re: kexec on SMP mips64?
Date:	Fri, 1 Feb 2008 13:21:43 +0100
User-Agent: KMail/1.9.6
References: <47A21286.3020009@nortel.com>
In-Reply-To: <47A21286.3020009@nortel.com>
Cc:	linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802011321.43399.nschichan@freebox.fr>
Return-Path: <nschichan@freebox.fr>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18164
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: nschichan@freebox.fr
Precedence: bulk
X-list: linux-mips

On Thursday 31 January 2008 19:25:10 you wrote:

Hi,

> We're starting work on an embedded highly-available product using dual
> Octeon cpus, and I'm looking into the possibility of using kexec/kdump
> as a "flight recorder" to dump fault information to a persistant storage
> location.
>
> I saw the patch adding initial support for kexec, but I was curious
> about the current status.  Is anyone using kexec for mips64 SMP systems?
>   Is it known to be broken?  I'm just trying to get a feel for how much
> work might be involved.

The code used to work on the 32bit mips board I have access to, but as far as 
I know it has not been tested on 64bit. I have not tested it on SMP, but 
chances are that kexec on mips is broken here too.

Regards,

-- 
Nicolas Schichan

From veerasena_b@yahoo.co.in Fri Feb  1 18:14:58 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 01 Feb 2008 18:15:07 +0000 (GMT)
Received: from web8406.mail.in.yahoo.com ([202.43.219.154]:63377 "HELO
	web8406.mail.in.yahoo.com") by ftp.linux-mips.org with SMTP
	id S20030019AbYBASO6 convert rfc822-to-8bit (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 1 Feb 2008 18:14:58 +0000
Received: (qmail 7972 invoked by uid 60001); 1 Feb 2008 18:14:47 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
  s=s1024; d=yahoo.co.in;
  h=X-YMail-OSG:Received:X-Mailer:Date:From:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;
  b=XXiF+t2gJVn66gjvUZ1OjONzOY2n8+66gUGFHpAuU5bdh6XgkCPE42Pzmyn+Rf9Lri0eULQgbzk+mcPIOjvt73HnsS04Q4ELhxXxoubGdKgrH7HEiF/aqdYl+tY+Z7gQavbBEVgOT+q4Mfjyt9qaKk3vDiILkI7smyeRIozfxhE=;
X-YMail-OSG: o4AhGD4VM1m0ingH3EVKHgslw5dNrvUWpYDEaxUKXDO5ojWa98Bg_WGIc029TG0d5G8Xj0i7OUGpZFForF.2be46odapEYPA1xm7Ta2uMosV7TJrtfXpUprDL_g9Cw--
Received: from [199.239.167.162] by web8406.mail.in.yahoo.com via HTTP; Fri, 01 Feb 2008 23:44:47 IST
X-Mailer: YahooMailRC/818.31 YahooMailWebService/0.7.162
Date:	Fri, 1 Feb 2008 23:44:47 +0530 (IST)
From:	veerasena reddy <veerasena_b@yahoo.co.in>
To:	"linux-kernel.org" <linux-kernel@vger.kernel.org>,
	linux-mips <linux-mips@linux-mips.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8BIT
Message-ID: <416607.4159.qm@web8406.mail.in.yahoo.com>
Return-Path: <veerasena_b@yahoo.co.in>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18165
Subject: (no subject)
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: veerasena_b@yahoo.co.in
Precedence: bulk
X-list: linux-mips

Hi,

I have a requirement where i need to execute a user process even when the kernel is utilizing 100% of CPU time.

Actual scenario is as below:
I have a device on my board. this device keeps generating regular (for every 2secs) messages for a user process. the user process has to poll on the device for any message is there to read and get the message from the device. once the user process reads the message it will be removed in device and uses for further/subsequent messages.

I have a test case where i need to send so much traffic through my board such that the kernel will be utilizing 100% CPU time to process this data. At this time (when CPU is 100% utilized) the user space process is not getting scheduled even after a long duration (say 10 minutes to 45 minutes). Mean time the message buffer in the device is filled up and the device halts (aka controlled crash; the device firmware has been designed like this) as there is no more memory on the device.
To avoid this scenario of device's message queue getting filled up because of the user space process not reading them, could you please anyone suggest some technique for getting my user space process scheduled even when there is very heavy traffic as described above.

In simple, i can put my requirement like this:
    Is there any way i can get a user space process get scheduled in the above condition (kernel occupying 100% of CPU due to heavy traffic)

Thanks in Advance.

Regards,
Veerasena.


      Now you can chat without downloading messenger. Go to http://in.messenger.yahoo.com/webmessengerpromo.php

From sam@ravnborg.org Sat Feb  2 18:01:42 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 02 Feb 2008 18:01:50 +0000 (GMT)
Received: from pasmtpb.tele.dk ([80.160.77.98]:28623 "EHLO pasmtpB.tele.dk")
	by ftp.linux-mips.org with ESMTP id S20029889AbYBBSBm (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sat, 2 Feb 2008 18:01:42 +0000
Received: from ravnborg.org (0x535d98d8.vgnxx8.adsl-dhcp.tele.dk [83.93.152.216])
	by pasmtpB.tele.dk (Postfix) with ESMTP id 622FCE3148A;
	Sat,  2 Feb 2008 19:01:40 +0100 (CET)
Received: by ravnborg.org (Postfix, from userid 500)
	id E53FF580D2; Sat,  2 Feb 2008 19:01:44 +0100 (CET)
Date:	Sat, 2 Feb 2008 19:01:44 +0100
From:	Sam Ravnborg <sam@ravnborg.org>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-mips@linux-mips.org
Subject: Re: [PATCH] Remove __INIT_REFOK and __INITDATA_REFOK
Message-ID: <20080202180144.GA25399@uranus.ravnborg.org>
References: <20080130141408.GA6116@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080130141408.GA6116@linux-mips.org>
User-Agent: Mutt/1.4.2.1i
Return-Path: <sam@ravnborg.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18166
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sam@ravnborg.org
Precedence: bulk
X-list: linux-mips

On Wed, Jan 30, 2008 at 02:14:08PM +0000, Ralf Baechle wrote:
> Commit 312b1485fb509c9bc32eda28ad29537896658cb8 made __INIT_REFOK expand
> into .section .section ".ref.text", "ax".  Since the assembler doesn't
> tolerate stuttering in the source that broke all MIPS builds.
> 
> Since with this change Sam downgraded __INIT_REFOK to just a backward
> compat thing and there being only a single use in the MIPS arch code the
> best solution is to delete both of __INIT_REFOK and __INITDATA_REFOK (which
> was equally broken) being unused anyway these can be deleted.
> 
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Thanks Ralf - applied.
And sorry for the MIPS breakage.

	Sam

From kumba@gentoo.org Sat Feb  2 22:08:42 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 02 Feb 2008 22:08:50 +0000 (GMT)
Received: from qmta07.emeryville.ca.mail.comcast.net ([76.96.30.64]:58780 "EHLO
	QMTA07.emeryville.ca.mail.comcast.net") by ftp.linux-mips.org
	with ESMTP id S20031130AbYBBWIm (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sat, 2 Feb 2008 22:08:42 +0000
Received: from OMTA13.emeryville.ca.mail.comcast.net ([76.96.30.52])
	by QMTA07.emeryville.ca.mail.comcast.net with comcast
	id kd4v1Y00F17UAYkA70X900; Sat, 02 Feb 2008 22:08:32 +0000
Received: from [192.168.1.4] ([69.140.18.238])
	by OMTA13.emeryville.ca.mail.comcast.net with comcast
	id km8Y1Y00E58Be2l8Z00000; Sat, 02 Feb 2008 22:08:35 +0000
X-Authority-Analysis: v=1.0 c=1 a=NO_UjUUC5dBMtSl9ZVQA:9
 a=pljzPeXGaX0wzBsF5R0A:7 a=WgWhcjP_WEcGfe5YBQNgxSYBjIcA:4 a=XF7b4UCPwd8A:10
Message-ID: <47A4E9DF.5070603@gentoo.org>
Date:	Sat, 02 Feb 2008 17:08:31 -0500
From:	Kumba <kumba@gentoo.org>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
CC:	Ralf Baechle <ralf@linux-mips.org>,
	Florian Lohoff <flo@rfc822.org>, linux-mips@linux-mips.org,
	debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
References: <20080115112420.GA7347@alpha.franken.de> <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de>
In-Reply-To: <20080126143949.GA6579@alpha.franken.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18167
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Thomas Bogendoerfer wrote:
> no suprise here. As Ralf already noted cache barrier is a restricted
> instruction, it will always cause a illegal instruction when used
> in user space. Nevertheless it looks like all IP28 are affected
> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
> and this avoids triggering the hang.

Ah, didn't know the 'cache' instructions was kernel-mode only.  Explains why it 
survived then :)

How does one enable the LLSC war workaround in glibc?


--Kumba

-- 
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands 
do them because they must, while the eyes of the great are elsewhere."  --Elrond

From sfr@canb.auug.org.au Sun Feb  3 01:29:06 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 01:29:16 +0000 (GMT)
Received: from chilli.pcug.org.au ([203.10.76.44]:15562 "EHLO smtps.tip.net.au")
	by ftp.linux-mips.org with ESMTP id S20031848AbYBCB3G (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 3 Feb 2008 01:29:06 +0000
Received: from ash.ozlabs.ibm.com (ta-1-1.tip.net.au [203.11.71.1])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by smtps.tip.net.au (Postfix) with ESMTP id 9EE15368003;
	Sun,  3 Feb 2008 12:29:02 +1100 (EST)
Date:	Sun, 3 Feb 2008 12:29:06 +1100
From:	Stephen Rothwell <sfr@canb.auug.org.au>
To:	macro@linux-mips.org
Cc:	linux-mips@linux-mips.org
Subject: [PATCH] [TRIVIAL] sm1250: constify three stings.
Message-Id: <20080203122906.eefb3ac4.sfr@canb.auug.org.au>
X-Mailer: Sylpheed 2.4.8 (GTK+ 2.12.5; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <sfr@canb.auug.org.au>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18168
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sfr@canb.auug.org.au
Precedence: bulk
X-list: linux-mips

This was noticed because sbmac_string is passed to
platform_device_register_simple() which now takes a "const char *"
as it first argument.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/net/sb1250-mac.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

This has not even been compiled, but is fairly trivial.

diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 7b53d65..d83471a 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -350,10 +350,10 @@ static int sbmac_mii_write(struct mii_bus *bus, int phyaddr, int regidx,
  *  Globals
  ********************************************************************* */
 
-static char sbmac_string[] = "sb1250-mac";
-static char sbmac_pretty[] = "SB1250 MAC";
+static const char sbmac_string[] = "sb1250-mac";
+static const char sbmac_pretty[] = "SB1250 MAC";
 
-static char sbmac_mdio_string[] = "sb1250-mac-mdio";
+static const char sbmac_mdio_string[] = "sb1250-mac-mdio";
 
 
 /**********************************************************************
-- 
1.5.3.8

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

From ralf@linux-mips.org Sun Feb  3 02:16:55 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 02:16:57 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:15076 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20031907AbYBCCQz (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 3 Feb 2008 02:16:55 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m132GnPJ016019;
	Sun, 3 Feb 2008 03:16:50 +0100
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m132GmRD016018;
	Sun, 3 Feb 2008 03:16:48 +0100
Date:	Sun, 3 Feb 2008 03:16:48 +0100
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Kumba <kumba@gentoo.org>
Cc:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Florian Lohoff <flo@rfc822.org>, linux-mips@linux-mips.org,
	debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080203021647.GA15910@linux-mips.org>
References: <20080115112420.GA7347@alpha.franken.de> <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47A4E9DF.5070603@gentoo.org>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18169
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sat, Feb 02, 2008 at 05:08:31PM -0500, Kumba wrote:

> 
> Thomas Bogendoerfer wrote:
>> no suprise here. As Ralf already noted cache barrier is a restricted
>> instruction, it will always cause a illegal instruction when used
>> in user space. Nevertheless it looks like all IP28 are affected
>> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
>> and this avoids triggering the hang.
>
> Ah, didn't know the 'cache' instructions was kernel-mode only.  Explains 
> why it survived then :)
>
> How does one enable the LLSC war workaround in glibc?

By modifying the code ;-)

  Ralf

From flo@rfc822.org Sun Feb  3 06:30:25 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 06:30:34 +0000 (GMT)
Received: from hydra.gt.owl.de ([195.71.99.218]:17619 "EHLO hydra.gt.owl.de")
	by ftp.linux-mips.org with ESMTP id S20025424AbYBCGaZ (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 3 Feb 2008 06:30:25 +0000
Received: by hydra.gt.owl.de (Postfix, from userid 1000)
	id 7B30B32CFF; Sun,  3 Feb 2008 07:27:11 +0100 (CET)
Date:	Sun, 3 Feb 2008 07:27:11 +0100
From:	Florian Lohoff <flo@rfc822.org>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	Kumba <kumba@gentoo.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080203062711.GA28394@paradigm.rfc822.org>
References: <20080115112420.GA7347@alpha.franken.de> <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="lrZ03NoBR/3+SXJZ"
Content-Disposition: inline
In-Reply-To: <20080203021647.GA15910@linux-mips.org>
Organization: rfc822 - pure communication
X-SpiderMe: mh-200802030725@listme.rfc822.org
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <flo@rfc822.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18170
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: flo@rfc822.org
Precedence: bulk
X-list: linux-mips


--lrZ03NoBR/3+SXJZ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Feb 03, 2008 at 03:16:48AM +0100, Ralf Baechle wrote:
> On Sat, Feb 02, 2008 at 05:08:31PM -0500, Kumba wrote:
>=20
> >=20
> > Thomas Bogendoerfer wrote:
> >> no suprise here. As Ralf already noted cache barrier is a restricted
> >> instruction, it will always cause a illegal instruction when used
> >> in user space. Nevertheless it looks like all IP28 are affected
> >> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
> >> and this avoids triggering the hang.
> >
> > Ah, didn't know the 'cache' instructions was kernel-mode only.  Explain=
s=20
> > why it survived then :)
> >
> > How does one enable the LLSC war workaround in glibc?
>=20
> By modifying the code ;-)

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D462112

Flo
--=20
Florian Lohoff                  flo@rfc822.org             +49-171-2280134
	Those who would give up a little freedom to get a little=20
          security shall soon have neither - Benjamin Franklin

--lrZ03NoBR/3+SXJZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHpV6/Uaz2rXW+gJcRAjkdAKCEvqw8qVHxGHiWFLK81Ga/y/lJ3ACfe6UN
Ib3l6DMhVfc4kEk7IrOVIsA=
=O6pE
-----END PGP SIGNATURE-----

--lrZ03NoBR/3+SXJZ--

From giuseppe@eppesuigoccas.homedns.org Sun Feb  3 14:59:20 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 14:59:29 +0000 (GMT)
Received: from host194-211-dynamic.20-79-r.retail.telecomitalia.it ([79.20.211.194]:25279
	"EHLO eppesuigoccas.homedns.org") by ftp.linux-mips.org with ESMTP
	id S20022951AbYBCO7U (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 3 Feb 2008 14:59:20 +0000
Received: from [192.168.1.33] (helo=[192.168.1.2])
	by eppesuigoccas.homedns.org with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <giuseppe@eppesuigoccas.homedns.org>)
	id 1JLt8O-0000Vi-Bp
	for linux-mips@linux-mips.org; Mon, 04 Feb 2008 05:40:46 +0100
Subject: new type of crash report?
From:	Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
To:	linux-mips@linux-mips.org
Content-Type: text/plain
Date:	Sun, 03 Feb 2008 15:56:18 +0100
Message-Id: <1202050578.7035.11.camel@scarafaggio>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
Content-Transfer-Encoding: 7bit
Return-Path: <giuseppe@eppesuigoccas.homedns.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18171
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: giuseppe@eppesuigoccas.homedns.org
Precedence: bulk
X-list: linux-mips

Hi all,
with latest kernel I started getting problem like this one. How may I
understand what part of the kernel produced the problem? Is it possible
to get a stack trace from this report?

Thank you very much,
Giuseppe

Got dbe at 0x2ac2bffc
Cpu 0
$ 0   : 0000000000000000 0000000000000014 0000000000000000 000000002acf1758
$ 4   : 0000000000000000 00000000000073b0 0000000000000000 0000000000000000
$ 8   : 000000007fd06a64 0000000000000000 47a5ca5900000000 0000100000000000
$12   : 0000000000000000 0000000047a5ca59 0000000047a5ca59 0000000000000000
$16   : 0000000000000000 000000002acef588 000000002accbd68 0000000000000000
$20   : 0000000000546408 0000000000545e68 0000000000000000 0000000000530bb8
$24   : 0000000000000000 000000002abf8e58                                  
$28   : 000000002acf7960 000000007fd069e0 000000007fd069f0 000000002ac2bfdc
Hi    : 0000000000000000
Lo    : 0000000000000000
epc   : 000000002ac2bffc 0x2ac2bffc     Not tainted
ra    : 000000002ac2bfdc 0x2ac2bfdc
Status: 8001fcf3    KX SX UX USER EXL IE 
Cause : 0000041c
PrId  : 00002321 (R5000)
Index:  1 pgmask=4kb va=c00000ffc0126000 asid=6b
        [pa=00053946000 c=3 d=1 v=1 g=1] [pa=000538da000 c=3 d=1 v=1 g=1]
Index:  2 pgmask=4kb va=c00000ffc003a000 asid=6b
        [pa=00054e25000 c=3 d=1 v=1 g=1] [pa=00000000000 c=0 d=0 v=0 g=1]
Index:  4 pgmask=4kb va=c00000ffc00d8000 asid=6b
        [pa=00000000000 c=0 d=0 v=0 g=1] [pa=00053921000 c=3 d=1 v=1 g=1]
Index:  7 pgmask=4kb va=c00000ffc0042000 asid=6b
        [pa=00054cf7000 c=3 d=1 v=1 g=1] [pa=00054eaa000 c=3 d=1 v=1 g=1]
Index:  8 pgmask=4kb va=c00000ffc012c000 asid=6b
        [pa=000539e5000 c=3 d=1 v=1 g=1] [pa=00000000000 c=0 d=0 v=0 g=1]
Index: 10 pgmask=4kb va=c00000ffc00fa000 asid=6b
        [pa=000539ae000 c=3 d=1 v=1 g=1] [pa=000539af000 c=3 d=1 v=1 g=1]
[...]


From markus.gothe@27m.se Sun Feb  3 15:52:44 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 15:52:53 +0000 (GMT)
Received: from mail.lysator.liu.se ([130.236.254.3]:16304 "EHLO
	mail.lysator.liu.se") by ftp.linux-mips.org with ESMTP
	id S20025543AbYBCPwo (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 3 Feb 2008 15:52:44 +0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.lysator.liu.se (Postfix) with ESMTP id 044E1200A23C;
	Sun,  3 Feb 2008 16:52:41 +0100 (CET)
Received: from mail.lysator.liu.se ([127.0.0.1])
	by localhost (lenin.lysator.liu.se [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id 16989-01-91; Sun, 3 Feb 2008 16:52:40 +0100 (CET)
Received: from [192.168.0.2] (cust.fiber-lan.vnet.lk.85.194.49.173.stunet.se [85.194.49.173])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by mail.lysator.liu.se (Postfix) with ESMTP id 16BD4200A219;
	Sun,  3 Feb 2008 16:52:40 +0100 (CET)
Cc:	linux-mips@linux-mips.org
Message-Id: <5BFC57F9-7E81-4667-9D15-72F5F20FA4DD@27m.se>
From:	Markus Gothe <markus.gothe@27m.se>
To:	Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
In-Reply-To: <1202050578.7035.11.camel@scarafaggio>
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha1; boundary="Apple-Mail-16-408453187"
Mime-Version: 1.0 (Apple Message framework v915)
Subject: Re: [SPAM] new type of crash report?
Date:	Sun, 3 Feb 2008 16:52:32 +0100
References: <1202050578.7035.11.camel@scarafaggio>
X-Pgp-Agent: GPGMail d51 (Leopard)
Content-Transfer-Encoding: 7bit
X-Mailer: Apple Mail (2.915)
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at lysator.liu.se
Return-Path: <markus.gothe@27m.se>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18172
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: markus.gothe@27m.se
Precedence: bulk
X-list: linux-mips

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--Apple-Mail-16-408453187
Content-Type: multipart/alternative; boundary=Apple-Mail-15-408453153


--Apple-Mail-15-408453153
Content-Type: text/plain;
	charset=ISO-8859-1;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: quoted-printable

You can always start with running run gdb at the read address (ra: =20
0x2ac2bfdc), I'd also try listing 0x2ac2bffc.

//Markus

On 3 Feb 2008, at 15:56, Giuseppe Sacco wrote:

> Hi all,
> with latest kernel I started getting problem like this one. How may I
> understand what part of the kernel produced the problem? Is it =20
> possible
> to get a stack trace from this report?
>
> Thank you very much,
> Giuseppe
>
> Got dbe at 0x2ac2bffc
> Cpu 0
> $ 0   : 0000000000000000 0000000000000014 0000000000000000 =20
> 000000002acf1758
> $ 4   : 0000000000000000 00000000000073b0 0000000000000000 =20
> 0000000000000000
> $ 8   : 000000007fd06a64 0000000000000000 47a5ca5900000000 =20
> 0000100000000000
> $12   : 0000000000000000 0000000047a5ca59 0000000047a5ca59 =20
> 0000000000000000
> $16   : 0000000000000000 000000002acef588 000000002accbd68 =20
> 0000000000000000
> $20   : 0000000000546408 0000000000545e68 0000000000000000 =20
> 0000000000530bb8
> $24   : 0000000000000000 000000002abf8e58
> $28   : 000000002acf7960 000000007fd069e0 000000007fd069f0 =20
> 000000002ac2bfdc
> Hi    : 0000000000000000
> Lo    : 0000000000000000
> epc   : 000000002ac2bffc 0x2ac2bffc     Not tainted
> ra    : 000000002ac2bfdc 0x2ac2bfdc
> Status: 8001fcf3    KX SX UX USER EXL IE
> Cause : 0000041c
> PrId  : 00002321 (R5000)
> Index:  1 pgmask=3D4kb va=3Dc00000ffc0126000 asid=3D6b
>        [pa=3D00053946000 c=3D3 d=3D1 v=3D1 g=3D1] [pa=3D000538da000 =
c=3D3 d=3D1 v=3D1 =20
> g=3D1]
> Index:  2 pgmask=3D4kb va=3Dc00000ffc003a000 asid=3D6b
>        [pa=3D00054e25000 c=3D3 d=3D1 v=3D1 g=3D1] [pa=3D00000000000 =
c=3D0 d=3D0 v=3D0 =20
> g=3D1]
> Index:  4 pgmask=3D4kb va=3Dc00000ffc00d8000 asid=3D6b
>        [pa=3D00000000000 c=3D0 d=3D0 v=3D0 g=3D1] [pa=3D00053921000 =
c=3D3 d=3D1 v=3D1 =20
> g=3D1]
> Index:  7 pgmask=3D4kb va=3Dc00000ffc0042000 asid=3D6b
>        [pa=3D00054cf7000 c=3D3 d=3D1 v=3D1 g=3D1] [pa=3D00054eaa000 =
c=3D3 d=3D1 v=3D1 =20
> g=3D1]
> Index:  8 pgmask=3D4kb va=3Dc00000ffc012c000 asid=3D6b
>        [pa=3D000539e5000 c=3D3 d=3D1 v=3D1 g=3D1] [pa=3D00000000000 =
c=3D0 d=3D0 v=3D0 =20
> g=3D1]
> Index: 10 pgmask=3D4kb va=3Dc00000ffc00fa000 asid=3D6b
>        [pa=3D000539ae000 c=3D3 d=3D1 v=3D1 g=3D1] [pa=3D000539af000 =
c=3D3 d=3D1 v=3D1 =20
> g=3D1]
> [...]
>
>

_______________________________________

Mr Markus Gothe
Software Engineer

Phone: +46 (0)13 21 81 20 (ext. 1046)
Fax: +46 (0)13 21 21 15
Mobile: +46 (0)70 348 44 35
Diskettgatan 11, SE-583 35 Link=F6ping, Sweden
www.27m.com




--Apple-Mail-15-408453153
Content-Type: text/html;
	charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">You can always start with =
running run gdb at the read address (ra:&nbsp;0x2ac2bfdc), I'd also try =
listing&nbsp;0x2ac2bffc.<div><br =
class=3D"webkit-block-placeholder"></div><div>//Markus<br><div><div><br =
class=3D"webkit-block-placeholder"></div><div>On 3 Feb 2008, at 15:56, =
Giuseppe Sacco wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">Hi =
all,<br>with latest kernel I started getting problem like this one. How =
may I<br>understand what part of the kernel produced the problem? Is it =
possible<br>to get a stack trace from this report?<br><br>Thank you very =
much,<br>Giuseppe<br><br>Got dbe at 0x2ac2bffc<br>Cpu 0<br>$ 0 =
&nbsp;&nbsp;: 0000000000000000 0000000000000014 0000000000000000 =
000000002acf1758<br>$ 4 &nbsp;&nbsp;: 0000000000000000 00000000000073b0 =
0000000000000000 0000000000000000<br>$ 8 &nbsp;&nbsp;: 000000007fd06a64 =
0000000000000000 47a5ca5900000000 0000100000000000<br>$12 &nbsp;&nbsp;: =
0000000000000000 0000000047a5ca59 0000000047a5ca59 =
0000000000000000<br>$16 &nbsp;&nbsp;: 0000000000000000 000000002acef588 =
000000002accbd68 0000000000000000<br>$20 &nbsp;&nbsp;: 0000000000546408 =
0000000000545e68 0000000000000000 0000000000530bb8<br>$24 &nbsp;&nbsp;: =
0000000000000000 000000002abf8e58 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>$28 &nbsp;&nbsp;: =
000000002acf7960 000000007fd069e0 000000007fd069f0 =
000000002ac2bfdc<br>Hi &nbsp;&nbsp;&nbsp;: 0000000000000000<br>Lo =
&nbsp;&nbsp;&nbsp;: 0000000000000000<br>epc &nbsp;&nbsp;: =
000000002ac2bffc 0x2ac2bffc &nbsp;&nbsp;&nbsp;&nbsp;Not tainted<br>ra =
&nbsp;&nbsp;&nbsp;: 000000002ac2bfdc 0x2ac2bfdc<br>Status: 8001fcf3 =
&nbsp;&nbsp;&nbsp;KX SX UX USER EXL IE <br>Cause : 0000041c<br>PrId =
&nbsp;: 00002321 (R5000)<br>Index: &nbsp;1 pgmask=3D4kb =
va=3Dc00000ffc0126000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D00053946000 c=3D3 d=3D1 =
v=3D1 g=3D1] [pa=3D000538da000 c=3D3 d=3D1 v=3D1 g=3D1]<br>Index: =
&nbsp;2 pgmask=3D4kb va=3Dc00000ffc003a000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D00054e25000 c=3D3 d=3D1 =
v=3D1 g=3D1] [pa=3D00000000000 c=3D0 d=3D0 v=3D0 g=3D1]<br>Index: =
&nbsp;4 pgmask=3D4kb va=3Dc00000ffc00d8000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D00000000000 c=3D0 d=3D0 =
v=3D0 g=3D1] [pa=3D00053921000 c=3D3 d=3D1 v=3D1 g=3D1]<br>Index: =
&nbsp;7 pgmask=3D4kb va=3Dc00000ffc0042000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D00054cf7000 c=3D3 d=3D1 =
v=3D1 g=3D1] [pa=3D00054eaa000 c=3D3 d=3D1 v=3D1 g=3D1]<br>Index: =
&nbsp;8 pgmask=3D4kb va=3Dc00000ffc012c000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D000539e5000 c=3D3 d=3D1 =
v=3D1 g=3D1] [pa=3D00000000000 c=3D0 d=3D0 v=3D0 g=3D1]<br>Index: 10 =
pgmask=3D4kb va=3Dc00000ffc00fa000 asid=3D6b<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pa=3D000539ae000 c=3D3 d=3D1 =
v=3D1 g=3D1] [pa=3D000539af000 c=3D3 d=3D1 v=3D1 =
g=3D1]<br>[...]<br><br><br></blockquote></div><br><div =
apple-content-edited=3D"true"> <span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; -webkit-border-horizontal-spacing: =
0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; -webkit-text-decorations-in-effect: none; =
text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; =
orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><div style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
">_______________________________________</div><div style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
min-height: 14px; "><br></div><div style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Mr Markus =
Gothe</div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">Software Engineer</div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><br></div><div style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Phone: =
+46 (0)13 21 81 20 (ext. 1046)</div><div style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Fax: +46 =
(0)13 21 21 15</div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">Mobile: +46 (0)70 348 44 =
35</div><div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; ">Diskettgatan 11, SE-583 35 Link=F6ping, =
Sweden</div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><a =
href=3D"http://www.27m.com">www.27m.com</a></div></div><br =
class=3D"Apple-interchange-newline"></span></div></span><br =
class=3D"Apple-interchange-newline"> </div><br></div></body></html>=

--Apple-Mail-15-408453153--

--Apple-Mail-16-408453187
content-type: application/pgp-signature; x-mac-type=70674453;
	name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkel40AACgkQ6I0XmJx2NrwvlACeJNf96D4XQAbbKeYLZ8BdW58f
DlYAn2lgdzHeKtW6rjYDRr+0y2bF2hFl
=gE5t
-----END PGP SIGNATURE-----

--Apple-Mail-16-408453187--

From giuseppe@eppesuigoccas.homedns.org Sun Feb  3 16:00:25 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 16:00:34 +0000 (GMT)
Received: from host194-211-dynamic.20-79-r.retail.telecomitalia.it ([79.20.211.194]:57013
	"EHLO eppesuigoccas.homedns.org") by ftp.linux-mips.org with ESMTP
	id S20025779AbYBCQAZ (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 3 Feb 2008 16:00:25 +0000
Received: from router-wag54gp2 ([192.168.1.33] helo=[192.168.1.2])
	by eppesuigoccas.homedns.org with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <giuseppe@eppesuigoccas.homedns.org>)
	id 1JLhGS-0004Hc-J9
	for linux-mips@linux-mips.org; Sun, 03 Feb 2008 17:00:18 +0100
Subject: Re: new type of crash report?
From:	Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
To:	linux-mips@linux-mips.org
In-Reply-To: <5BFC57F9-7E81-4667-9D15-72F5F20FA4DD@27m.se>
References: <1202050578.7035.11.camel@scarafaggio>
	 <5BFC57F9-7E81-4667-9D15-72F5F20FA4DD@27m.se>
Content-Type: text/plain
Date:	Sun, 03 Feb 2008 17:01:05 +0100
Message-Id: <1202054465.7035.20.camel@scarafaggio>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
Content-Transfer-Encoding: 7bit
Return-Path: <giuseppe@eppesuigoccas.homedns.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18173
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: giuseppe@eppesuigoccas.homedns.org
Precedence: bulk
X-list: linux-mips

Hi Markus,

Il giorno dom, 03/02/2008 alle 16.52 +0100, Markus Gothe ha scritto:
> You can always start with running run gdb at the read address
> (ra: 0x2ac2bfdc), I'd also try listing 0x2ac2bffc.
[...]

Thanks for your reply. I will try to understand how to use gdb on this
context. (Any URI would be really appreciated.)
Anyway I now understood that a dbe is a data bus error, so probably this
is an error on the physical address, i.e. a kernel problem related to
the mapping between vertical and physical addresses. Is this correct?

Thanks,
Giuseppe


From kevink@mips.com Sun Feb  3 17:11:29 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 17:11:37 +0000 (GMT)
Received: from dns0.mips.com ([63.167.95.198]:2487 "EHLO dns0.mips.com")
	by ftp.linux-mips.org with ESMTP id S20026652AbYBCRL3 (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 3 Feb 2008 17:11:29 +0000
Received: from mercury.mips.com (mercury [192.168.64.101])
	by dns0.mips.com (8.12.11/8.12.11) with ESMTP id m13HAQpa026668;
	Sun, 3 Feb 2008 09:10:27 -0800 (PST)
Received: from [127.0.0.1] (grendel [192.168.236.16])
	by mercury.mips.com (8.13.5/8.13.5) with ESMTP id m13HB6BW001490;
	Sun, 3 Feb 2008 09:11:07 -0800 (PST)
Message-ID: <47A5F580.8080300@mips.com>
Date:	Sun, 03 Feb 2008 18:10:24 +0100
From:	"Kevin D. Kissell" <kevink@mips.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To:	Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
CC:	linux-mips@linux-mips.org
Subject: Re: new type of crash report?
References: <1202050578.7035.11.camel@scarafaggio>	 <5BFC57F9-7E81-4667-9D15-72F5F20FA4DD@27m.se> <1202054465.7035.20.camel@scarafaggio>
In-Reply-To: <1202054465.7035.20.camel@scarafaggio>
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Return-Path: <kevink@mips.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18174
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kevink@mips.com
Precedence: bulk
X-list: linux-mips

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Giuseppe Sacco wrote:
<blockquote cite="mid:1202054465.7035.20.camel@scarafaggio" type="cite">
  <pre wrap="">Hi Markus,

Il giorno dom, 03/02/2008 alle 16.52 +0100, Markus Gothe ha scritto:
  </pre>
  <blockquote type="cite">
    <pre wrap="">You can always start with running run gdb at the read address
(ra: 0x2ac2bfdc), I'd also try listing 0x2ac2bffc.
    </pre>
  </blockquote>
  <pre wrap=""><!---->[...]

Thanks for your reply. I will try to understand how to use gdb on this
context. (Any URI would be really appreciated.)
Anyway I now understood that a dbe is a data bus error, so probably this
is an error on the physical address, i.e. a kernel problem related to
the mapping between vertical and physical addresses. Is this correct?
  </pre>
</blockquote>
That's correct.&nbsp; You didn't say what processor you were running on, so
it's hard to be more specific - there are some which have a bus error
input pin that can be asserted by the system for other reasons - but in
general it means that there's a data reference at 0x2ac2bffc whose
valid translation goes to a bad address.&nbsp; Generally, that address range
is where shared libraries are mapped, so to find the instruction you
want to run the program that caused the crash under gdb, set a
breakpoint very early (e.g. main), run to the breakpoint, and
disassemble the virtual address.&nbsp; I find it interesting that the
register value reported for register $10 is a reasonable data address
shifted up by 32 bits.&nbsp; It's possible that code would have a real
reason to do that, but I can't help wonder if that isn't part of the
problem. We may be looking at a 2-level bug here:&nbsp; User(?) code
screwing up a base register used for a load or store, and the OS
failing to handle the upper reaches of the 64-bit address space
correctly.<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Regards,<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Kevin K.<br>
</body>
</html>

From giuseppe@eppesuigoccas.homedns.org Sun Feb  3 22:58:49 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 03 Feb 2008 22:58:57 +0000 (GMT)
Received: from host194-211-dynamic.20-79-r.retail.telecomitalia.it ([79.20.211.194]:10159
	"EHLO eppesuigoccas.homedns.org") by ftp.linux-mips.org with ESMTP
	id S20032551AbYBCW6t (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 3 Feb 2008 22:58:49 +0000
Received: from router-wag54gp2 ([192.168.1.33] helo=[192.168.1.2])
	by eppesuigoccas.homedns.org with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <giuseppe@eppesuigoccas.homedns.org>)
	id 1JLnnM-00019r-3p
	for linux-mips@linux-mips.org; Sun, 03 Feb 2008 23:58:42 +0100
Subject: Re: new type of crash report?
From:	Giuseppe Sacco <giuseppe@eppesuigoccas.homedns.org>
To:	linux-mips@linux-mips.org
In-Reply-To: <47A5F580.8080300@mips.com>
References: <1202050578.7035.11.camel@scarafaggio>
	 <5BFC57F9-7E81-4667-9D15-72F5F20FA4DD@27m.se>
	 <1202054465.7035.20.camel@scarafaggio>  <47A5F580.8080300@mips.com>
Content-Type: text/plain
Date:	Sun, 03 Feb 2008 23:59:34 +0100
Message-Id: <1202079574.18109.6.camel@scarafaggio>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 
Content-Transfer-Encoding: 7bit
Return-Path: <giuseppe@eppesuigoccas.homedns.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18175
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: giuseppe@eppesuigoccas.homedns.org
Precedence: bulk
X-list: linux-mips

Hi Kevin,

Il giorno dom, 03/02/2008 alle 18.10 +0100, Kevin D. Kissell ha scritto:
> Giuseppe Sacco wrote: 
[...]
> > Thanks for your reply. I will try to understand how to use gdb on this
> > context. (Any URI would be really appreciated.)
> > Anyway I now understood that a dbe is a data bus error, so probably this
> > is an error on the physical address, i.e. a kernel problem related to
> > the mapping between vertical and physical addresses. Is this correct?
> >   
> That's correct.  You didn't say what processor you were running on, so
> it's hard to be more specific - there are some which have a bus error
> input pin that can be asserted by the system for other reasons - but
> in general it means that there's a data reference at 0x2ac2bffc whose
> valid translation goes to a bad address.  Generally, that address
> range is where shared libraries are mapped, so to find the instruction
> you want to run the program that caused the crash under gdb, set a
> breakpoint very early (e.g. main), run to the breakpoint, and
> disassemble the virtual address.  I find it interesting that the
> register value reported for register $10 is a reasonable data address
> shifted up by 32 bits.  It's possible that code would have a real
> reason to do that, but I can't help wonder if that isn't part of the
> problem. We may be looking at a 2-level bug here:  User(?) code
> screwing up a base register used for a load or store, and the OS
> failing to handle the upper reaches of the 64-bit address space
> correctly.

The complete bug report is available at http://bugs.debian.org/463808.
The cpu is an "R5000 V2.1  FPU V1.0".

The system is Debian stable, running mainly with courier-imap-ssl and
exim4 (often in TLS mode).

I cannot find a single program to debug, but I know for sure that if I
leave the machine with those two daemons, it will hung in about 30
minutes. If I run a kernel build (using gcc-4.2 from dDebian testing),
then the machine hungs in a few minutes. One time out of three gcc get a
segmentation fault, other two times the machine stop.

Thanks for your help,
Giuseppe


From imp@bsdimp.com Mon Feb  4 01:18:03 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 04 Feb 2008 01:18:12 +0000 (GMT)
Received: from bsdimp.com ([199.45.160.85]:21239 "EHLO harmony.bsdimp.com")
	by ftp.linux-mips.org with ESMTP id S20032737AbYBDBSD (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 4 Feb 2008 01:18:03 +0000
Received: from localhost (localhost [127.0.0.1])
	by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m141ChhK081133;
	Sun, 3 Feb 2008 18:12:46 -0700 (MST)
	(envelope-from imp@bsdimp.com)
Date:	Sun, 03 Feb 2008 18:14:36 -0700 (MST)
Message-Id: <20080203.181436.-1947424537.imp@bsdimp.com>
To:	gregor.waltz@raritan.com
Cc:	linux-mips@linux-mips.org
Subject: Re: Toshiba JMR 3927 working setup?
From:	"M. Warner Losh" <imp@bsdimp.com>
In-Reply-To: <47840D53.50009@raritan.com>
References: <477E6296.7090605@raritan.com>
	<20080105144535.GA12824@linux-mips.org>
	<47840D53.50009@raritan.com>
X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <imp@bsdimp.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18176
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: imp@bsdimp.com
Precedence: bulk
X-list: linux-mips

In message: <47840D53.50009@raritan.com>
            Gregor Waltz <gregor.waltz@raritan.com> writes:
: Ralf Baechle wrote:
: > You may want to switch to a recent binutils like 2.18 and gcc 4.2.2.
: 
: Ralf, are you or anybody else using that combination for mips?

Speaking of toolchains, are there known problems on mips with gcc
4.2.1?

Warner

From rkota@broadcom.com Mon Feb  4 05:50:51 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 04 Feb 2008 05:50:59 +0000 (GMT)
Received: from mms2.broadcom.com ([216.31.210.18]:3599 "EHLO mms2.broadcom.com")
	by ftp.linux-mips.org with ESMTP id S20021627AbYBDFuv convert rfc822-to-8bit
	(ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 4 Feb 2008 05:50:51 +0000
Received: from [10.10.64.154] by mms2.broadcom.com with ESMTP (Broadcom
 SMTP Relay (Email Firewall v6.3.1)); Sun, 03 Feb 2008 21:50:09 -0800
X-Server-Uuid: A6C4E0AE-A7F0-449F-BAE7-7FA0D737AC76
Received: by mail-irva-10.broadcom.com (Postfix, from userid 47) id
 7376896F; Sun, 3 Feb 2008 21:41:25 -0800 (PST)
Received: from mail-irva-8.broadcom.com (mail-irva-8 [10.10.64.221]) by
 mail-irva-10.broadcom.com (Postfix) with ESMTP id E5EB0953; Sun, 3 Feb
 2008 21:41:24 -0800 (PST)
Received: from mail-sj1-12.sj.broadcom.com (mail-sj1-12.sj.broadcom.com
 [10.16.128.215]) by mail-irva-8.broadcom.com (MOS 3.7.5a-GA) with ESMTP
 id GJI31601; Sun, 3 Feb 2008 21:41:24 -0800 (PST)
Received: from NT-SJCA-0752.brcm.ad.broadcom.com (nt-sjca-0752
 [10.16.192.222]) by mail-sj1-12.sj.broadcom.com (Postfix) with ESMTP id
 8567D20502; Sun, 3 Feb 2008 21:41:24 -0800 (PST)
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Subject: RE: (no subject)
Date:	Sun, 3 Feb 2008 21:41:23 -0800
Message-ID: <E06E3B7BBC07864CADE892DAF1EB0FBD049E778C@NT-SJCA-0752.brcm.ad.broadcom.com>
In-Reply-To: <416607.4159.qm@web8406.mail.in.yahoo.com>
Thread-Topic: (no subject)
Thread-Index: Achk/nZNV5d8tkTXQPm2kxAavxWLGwB8ea2w
References: <416607.4159.qm@web8406.mail.in.yahoo.com>
From:	"Ramgopal Kota" <rkota@broadcom.com>
To:	"veerasena reddy" <veerasena_b@yahoo.co.in>,
	"linux-kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mips" <linux-mips@linux-mips.org>
X-WSS-ID: 6BB8781B3B01705449-01-01
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: 8BIT
Return-Path: <rkota@broadcom.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18177
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: rkota@broadcom.com
Precedence: bulk
X-list: linux-mips

Hi,

You can set a real-time priority to the user-process.

Ramgopal Kota 
-----Original Message-----
From: linux-mips-bounce@linux-mips.org
[mailto:linux-mips-bounce@linux-mips.org] On Behalf Of veerasena reddy
Sent: Friday, February 01, 2008 11:45 PM
To: linux-kernel.org; linux-mips
Subject: (no subject)

Hi,

I have a requirement where i need to execute a user process even when
the kernel is utilizing 100% of CPU time.

Actual scenario is as below:
I have a device on my board. this device keeps generating regular (for
every 2secs) messages for a user process. the user process has to poll
on the device for any message is there to read and get the message from
the device. once the user process reads the message it will be removed
in device and uses for further/subsequent messages.

I have a test case where i need to send so much traffic through my board
such that the kernel will be utilizing 100% CPU time to process this
data. At this time (when CPU is 100% utilized) the user space process is
not getting scheduled even after a long duration (say 10 minutes to 45
minutes). Mean time the message buffer in the device is filled up and
the device halts (aka controlled crash; the device firmware has been
designed like this) as there is no more memory on the device.
To avoid this scenario of device's message queue getting filled up
because of the user space process not reading them, could you please
anyone suggest some technique for getting my user space process
scheduled even when there is very heavy traffic as described above.

In simple, i can put my requirement like this:
    Is there any way i can get a user space process get scheduled in the
above condition (kernel occupying 100% of CPU due to heavy traffic)

Thanks in Advance.

Regards,
Veerasena.


      Now you can chat without downloading messenger. Go to
http://in.messenger.yahoo.com/webmessengerpromo.php




From kumba@gentoo.org Tue Feb  5 07:11:17 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 05 Feb 2008 07:11:25 +0000 (GMT)
Received: from qmta01.emeryville.ca.mail.comcast.net ([76.96.30.16]:58805 "EHLO
	QMTA01.emeryville.ca.mail.comcast.net") by ftp.linux-mips.org
	with ESMTP id S20023976AbYBEHLR (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Tue, 5 Feb 2008 07:11:17 +0000
Received: from OMTA06.emeryville.ca.mail.comcast.net ([76.96.30.51])
	by QMTA01.emeryville.ca.mail.comcast.net with comcast
	id lVWT1Y00216AWCUA10d300; Tue, 05 Feb 2008 07:11:02 +0000
Received: from [192.168.1.4] ([69.140.18.238])
	by OMTA06.emeryville.ca.mail.comcast.net with comcast
	id ljB61Y00258Be2l8S00000; Tue, 05 Feb 2008 07:11:09 +0000
X-Authority-Analysis: v=1.0 c=1 a=xNf9USuDAAAA:8 a=yzZtjsIgX-HcIXBt9YEA:9
 a=GvoO7B1UHpgB1oHFA9wA:7 a=Tcex07jpsPutSQbRQqsc4_egSxAA:4 a=GZmr5YlNZX8A:10
Message-ID: <47A80C0A.4040106@gentoo.org>
Date:	Tue, 05 Feb 2008 02:11:06 -0500
From:	Kumba <kumba@gentoo.org>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To:	Florian Lohoff <flo@rfc822.org>
CC:	Ralf Baechle <ralf@linux-mips.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
References: <20080115112420.GA7347@alpha.franken.de> <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org>
In-Reply-To: <20080203062711.GA28394@paradigm.rfc822.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18178
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Florian Lohoff wrote:
> On Sun, Feb 03, 2008 at 03:16:48AM +0100, Ralf Baechle wrote:
>> On Sat, Feb 02, 2008 at 05:08:31PM -0500, Kumba wrote:
>>
>>> Thomas Bogendoerfer wrote:
>>>> no suprise here. As Ralf already noted cache barrier is a restricted
>>>> instruction, it will always cause a illegal instruction when used
>>>> in user space. Nevertheless it looks like all IP28 are affected
>>>> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
>>>> and this avoids triggering the hang.
>>> Ah, didn't know the 'cache' instructions was kernel-mode only.  Explains 
>>> why it survived then :)
>>>
>>> How does one enable the LLSC war workaround in glibc?
>> By modifying the code ;-)
> 
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462112
> 
> Flo

Interesting.  Is there a reason the kernel uses an #ifdef to choose between 
'bezq' and 'bezql' that's not needed in glibc itself?  Or does glibc itself lack 
a mechanism to detect CPU types to single out this specific change?

And any idea if uClibc will need similar mods?


Thanks!,

--Kumba

-- 
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands 
do them because they must, while the eyes of the great are elsewhere."  --Elrond

From ths@networkno.de Tue Feb  5 12:22:18 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 05 Feb 2008 12:22:28 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:48562 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S20026310AbYBEMWS (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 5 Feb 2008 12:22:18 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id F41DF48916;
	Tue,  5 Feb 2008 13:22:12 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JMMoV-0001sZ-Rj; Tue, 05 Feb 2008 12:22:11 +0000
Date:	Tue, 5 Feb 2008 12:22:11 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	Kumba <kumba@gentoo.org>
Cc:	Florian Lohoff <flo@rfc822.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080205122211.GA24136@networkno.de>
References: <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47A80C0A.4040106@gentoo.org>
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18179
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips

Kumba wrote:
> Florian Lohoff wrote:
>> On Sun, Feb 03, 2008 at 03:16:48AM +0100, Ralf Baechle wrote:
>>> On Sat, Feb 02, 2008 at 05:08:31PM -0500, Kumba wrote:
>>>
>>>> Thomas Bogendoerfer wrote:
>>>>> no suprise here. As Ralf already noted cache barrier is a restricted
>>>>> instruction, it will always cause a illegal instruction when used
>>>>> in user space. Nevertheless it looks like all IP28 are affected
>>>>> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
>>>>> and this avoids triggering the hang.
>>>> Ah, didn't know the 'cache' instructions was kernel-mode only.  
>>>> Explains why it survived then :)
>>>>
>>>> How does one enable the LLSC war workaround in glibc?
>>> By modifying the code ;-)
>>
>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462112
>>
>> Flo
>
> Interesting.  Is there a reason the kernel uses an #ifdef to choose 
> between 'bezq' and 'bezql' that's not needed in glibc itself?  Or does 
> glibc itself lack a mechanism to detect CPU types to single out this 
> specific change?

glibc for mips has currently no such mechanism. Note that this change
breaks MIPS I CPUs, so it is not generally applicable.

> And any idea if uClibc will need similar mods?

It needs a similiar change to support R10000 v2.5.


Thiemo

From ralf@linux-mips.org Tue Feb  5 15:23:22 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 05 Feb 2008 15:23:24 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:18650 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20028989AbYBEPXW (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 5 Feb 2008 15:23:22 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m15FN6TW019277;
	Tue, 5 Feb 2008 16:23:06 +0100
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m15FN4mM019276;
	Tue, 5 Feb 2008 16:23:04 +0100
Date:	Tue, 5 Feb 2008 16:23:04 +0100
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Kumba <kumba@gentoo.org>
Cc:	Florian Lohoff <flo@rfc822.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080205152304.GA18157@linux-mips.org>
References: <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47A80C0A.4040106@gentoo.org>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18180
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Tue, Feb 05, 2008 at 02:11:06AM -0500, Kumba wrote:

>>>> Thomas Bogendoerfer wrote:
>>>>> no suprise here. As Ralf already noted cache barrier is a restricted
>>>>> instruction, it will always cause a illegal instruction when used
>>>>> in user space. Nevertheless it looks like all IP28 are affected
>>>>> by the simple exploit. Flo built glibc 2.7 with LLSC war workaround
>>>>> and this avoids triggering the hang.
>>>> Ah, didn't know the 'cache' instructions was kernel-mode only.  Explains 
>>>> why it survived then :)
>>>>
>>>> How does one enable the LLSC war workaround in glibc?
>>> By modifying the code ;-)
>>
>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462112
>>
>> Flo
>
> Interesting.  Is there a reason the kernel uses an #ifdef to choose between 
> 'bezq' and 'bezql' that's not needed in glibc itself?  Or does glibc itself 
> lack a mechanism to detect CPU types to single out this specific change?
>
> And any idea if uClibc will need similar mods?

The kernel has rather detailed knowledge about which workarounds are
required for what platform and is optimized based on this knowledge.

Userspace is different.  The basic promise is that userspace will run on
any platform above certain minimum specs.  That is something like MIPS II
code is expected to run find on MIPS III or MIPS32 r1 or MIPS64 r2
hardware for example.  This promise includes even workarounds as far as
practicable and occasionally requires doing things that are somewhat
suboptimal for performance or coding style.  But it keeps things
deterministic for users.

  Ralf

From kumba@gentoo.org Wed Feb  6 03:26:01 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 06 Feb 2008 03:26:09 +0000 (GMT)
Received: from qmta04.emeryville.ca.mail.comcast.net ([76.96.30.40]:1713 "EHLO
	QMTA04.emeryville.ca.mail.comcast.net") by ftp.linux-mips.org
	with ESMTP id S20034991AbYBFD0B (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Wed, 6 Feb 2008 03:26:01 +0000
Received: from OMTA14.emeryville.ca.mail.comcast.net ([76.96.30.60])
	by QMTA04.emeryville.ca.mail.comcast.net with comcast
	id m22W1Y0031HpZEsA406j00; Wed, 06 Feb 2008 03:25:45 +0000
Received: from [192.168.1.4] ([69.140.18.238])
	by OMTA14.emeryville.ca.mail.comcast.net with comcast
	id m3Rq1Y00Z58Be2l8a00000; Wed, 06 Feb 2008 03:25:53 +0000
X-Authority-Analysis: v=1.0 c=1 a=mHkp4NPBQMTj-ToxHy0A:9
 a=C1SEP9C3daKCn9w2vRhkrsVy384A:4 a=XF7b4UCPwd8A:10
Message-ID: <47A928BF.5000302@gentoo.org>
Date:	Tue, 05 Feb 2008 22:25:51 -0500
From:	Kumba <kumba@gentoo.org>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To:	Thiemo Seufer <ths@networkno.de>
CC:	Florian Lohoff <flo@rfc822.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
References: <20080115112719.GB7920@paradigm.rfc822.org> <20080117004054.GA12051@alpha.franken.de> <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de>
In-Reply-To: <20080205122211.GA24136@networkno.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18181
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Thiemo Seufer wrote:
> Kumba wrote:
> 
> glibc for mips has currently no such mechanism. Note that this change
> breaks MIPS I CPUs, so it is not generally applicable.

I'll have to ask one of our devs who knows autoconf really well.  I figure 
that's probably a good place to catch something like this.  Have configure check 
/proc/cpuinfo and look for "R10000", and if it finds it, mod CFLAGS to pass 
-DR10k_LLSC_WAR, and #ifdef on that in atomic.h.

Sound plausible?


>> And any idea if uClibc will need similar mods?
> 
> It needs a similiar change to support R10000 v2.5.

Thought it would.  I'll keep this in mind if we ever get that running again.



Cheers,


--Kumba

-- 
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands 
do them because they must, while the eyes of the great are elsewhere."  --Elrond

From flo@rfc822.org Wed Feb  6 08:59:44 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 06 Feb 2008 08:59:53 +0000 (GMT)
Received: from hydra.gt.owl.de ([195.71.99.218]:47756 "EHLO hydra.gt.owl.de")
	by ftp.linux-mips.org with ESMTP id S20025449AbYBFI7o (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Wed, 6 Feb 2008 08:59:44 +0000
Received: by hydra.gt.owl.de (Postfix, from userid 1000)
	id 5B49732CE4; Wed,  6 Feb 2008 09:56:10 +0100 (CET)
Date:	Wed, 6 Feb 2008 09:56:10 +0100
From:	Florian Lohoff <flo@rfc822.org>
To:	Kumba <kumba@gentoo.org>
Cc:	Thiemo Seufer <ths@networkno.de>,
	Ralf Baechle <ralf@linux-mips.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080206085610.GA20751@paradigm.rfc822.org>
References: <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="7JfCtLOvnd9MIVvH"
Content-Disposition: inline
In-Reply-To: <47A928BF.5000302@gentoo.org>
Organization: rfc822 - pure communication
X-SpiderMe: mh-200802060854@listme.rfc822.org
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <flo@rfc822.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18182
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: flo@rfc822.org
Precedence: bulk
X-list: linux-mips


--7JfCtLOvnd9MIVvH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 05, 2008 at 10:25:51PM -0500, Kumba wrote:
> >Kumba wrote:
> >
> >glibc for mips has currently no such mechanism. Note that this change
> >breaks MIPS I CPUs, so it is not generally applicable.
>=20
> I'll have to ask one of our devs who knows autoconf really well.  I figur=
e=20
> that's probably a good place to catch something like this.  Have configur=
e=20
> check /proc/cpuinfo and look for "R10000", and if it finds it, mod CFLAGS=
=20
> to pass -DR10k_LLSC_WAR, and #ifdef on that in atomic.h.
>=20
> Sound plausible?

No - the very same GLIBC does not work on mips1 machines and vice versa.
Might by okay for gentoo but debian needs a run everywhere glibc which
means some ld.so tricks like with the libc6-i686 to load a different
glibc from my understanding.

Flo
--=20
Florian Lohoff                  flo@rfc822.org             +49-171-2280134
	Those who would give up a little freedom to get a little=20
          security shall soon have neither - Benjamin Franklin

--7JfCtLOvnd9MIVvH
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHqXYqUaz2rXW+gJcRAu/rAKCzxlBQ4JiAzXd6DnSTB0sZ7VyGrgCg50Qj
zV6jpJliUjUF02HrPVQzjRY=
=r7c6
-----END PGP SIGNATURE-----

--7JfCtLOvnd9MIVvH--

From weo@reccoware.de Wed Feb  6 11:15:50 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 06 Feb 2008 11:15:59 +0000 (GMT)
Received: from bes.recconet.de ([212.227.59.164]:2505 "EHLO bes.recconet.de")
	by ftp.linux-mips.org with ESMTP id S20035316AbYBFLPu (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Wed, 6 Feb 2008 11:15:50 +0000
Received: from trinity.recco.de (trinity.intern.recconet.de [192.168.11.241])
	by bes.recconet.de (8.13.1/8.13.1/Recconet-2005031001) with ESMTP id m16BFo3p006790
	for <linux-mips@linux-mips.org>; Wed, 6 Feb 2008 12:15:50 +0100
Received: from trinity.recco.de (localhost.localdomain [127.0.0.1])
	by trinity.recco.de (8.13.1/8.13.1/Reccoware-2005061101) with ESMTP id m16BFkoO004327
	for <linux-mips@linux-mips.org>; Wed, 6 Feb 2008 12:15:46 +0100
Received: (from apache@localhost)
	by trinity.recco.de (8.13.1/8.13.1/Reccoware-Submit-2005061101) id m16BFkME004324;
	Wed, 6 Feb 2008 12:15:46 +0100
X-Authentication-Warning: trinity.recco.de: apache set sender to weo@reccoware.de using -f
Received: from 217.91.120.40
        (SquirrelMail authenticated user weo)
        by morpheus.dyn.recconet.de with HTTP;
        Wed, 6 Feb 2008 12:15:46 +0100 (CET)
Message-ID: <1846.217.91.120.40.1202296546.squirrel@morpheus.dyn.recconet.de>
Date:	Wed, 6 Feb 2008 12:15:46 +0100 (CET)
Subject: au1xxx dbdma.c minor fix proposal
From:	"Wolfgang Ocker" <weo@reccoware.de>
To:	linux-mips@linux-mips.org
User-Agent: SquirrelMail/1.4.8-4.0.1.el4.centos
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="----=_20080206121546_79237"
X-Priority: 3 (Normal)
Importance: Normal
Return-Path: <weo@reccoware.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18183
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: weo@reccoware.de
Precedence: bulk
X-list: linux-mips

------=_20080206121546_79237
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Attached a minor patch for dbdma.c:

"""0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark
an empty entry in the device table. Use ~0 instead and search for id ~0 when
looking for a free entry."""

Wolfgang
------=_20080206121546_79237
Content-Type: text/x-patch; name="dbdma_devtab_fix.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="dbdma_devtab_fix.patch"

0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark
an empty entry in the device table. Use ~0 instead and search for id ~0 when
looking for a free entry.

diff -up linux-2.6.24/arch/mips/au1000/common/dbdma.c.devtab_fix linux-2.6.24/arch/mips/au1000/common/dbdma.c
--- linux-2.6.24/arch/mips/au1000/common/dbdma.c.devtab_fix	2008-01-24 23:58:37.000000000 +0100
+++ linux-2.6.24/arch/mips/au1000/common/dbdma.c	2008-02-06 11:51:16.000000000 +0100
@@ -161,22 +161,22 @@ static dbdev_tab_t dbdev_tab[] = {
 	{ DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
 
 	/* Provide 16 user definable device types */
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
 };
 
 #define DBDEV_TAB_SIZE (sizeof(dbdev_tab) / sizeof(dbdev_tab_t))
@@ -209,7 +209,7 @@ au1xxx_ddma_add_device(dbdev_tab_t *dev)
 	dbdev_tab_t *p=NULL;
 	static u16 new_id=0x1000;
 
-	p = find_dbdev_id(0);
+	p = find_dbdev_id(~0);
 	if ( NULL != p )
 	{
 		memcpy(p, dev, sizeof(dbdev_tab_t));
------=_20080206121546_79237--


From ralf@linux-mips.org Wed Feb  6 14:23:40 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 06 Feb 2008 14:23:42 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:38036 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20035993AbYBFOXk (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 6 Feb 2008 14:23:40 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m16EMIXV007807;
	Wed, 6 Feb 2008 14:22:18 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m16EMHm4007806;
	Wed, 6 Feb 2008 14:22:17 GMT
Date:	Wed, 6 Feb 2008 14:22:17 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Florian Lohoff <flo@rfc822.org>
Cc:	Kumba <kumba@gentoo.org>, Thiemo Seufer <ths@networkno.de>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080206142217.GA7633@linux-mips.org>
References: <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org> <20080206085610.GA20751@paradigm.rfc822.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080206085610.GA20751@paradigm.rfc822.org>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18184
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Wed, Feb 06, 2008 at 09:56:10AM +0100, Florian Lohoff wrote:

> No - the very same GLIBC does not work on mips1 machines and vice versa.
> Might by okay for gentoo but debian needs a run everywhere glibc which
> means some ld.so tricks like with the libc6-i686 to load a different
> glibc from my understanding.

There is the long standing plan to generate a shared library on on the
fly during kernel initialization and move atomic operations and performance
relevant functions like memcpy to it.  Thiemo's latest work on tlbex.c
got us a tiny step closer to that.

  Ralf

From aurelien@aurel32.net Thu Feb  7 02:16:53 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 02:17:01 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:61385 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20036629AbYBGCQx (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 02:16:53 +0000
Received: from volta.aurel32.net ([2002:52e8:2fb:1:216:d3ff:fe17:fd00])
	by hall.aurel32.net with esmtpsa (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JMwJj-0006HT-N8; Thu, 07 Feb 2008 03:16:47 +0100
Received: from aurel32 by volta.aurel32.net with local (Exim 4.68)
	(envelope-from <aurelien@aurel32.net>)
	id 1JMwKC-0000vM-Kc; Thu, 07 Feb 2008 03:17:16 +0100
Date:	Thu, 7 Feb 2008 03:17:16 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org
Subject: [PATCH] [MIPS] Add platform MTD support for the WGT634U machine
Message-ID: <20080207021716.GA3350@volta.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
X-Mailer: Mutt 1.5.17 (2007-12-11)
User-Agent: Mutt/1.5.17 (2007-12-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18185
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips

The patch below adds MTD support for the WGT634U machine by defining a
new platform_device for the flash.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/bcm47xx/wgt634u.c |   69 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/arch/mips/bcm47xx/wgt634u.c b/arch/mips/bcm47xx/wgt634u.c
index 5a017ea..997e540 100644
--- a/arch/mips/bcm47xx/wgt634u.c
+++ b/arch/mips/bcm47xx/wgt634u.c
@@ -9,6 +9,7 @@
 #include <linux/platform_device.h>
 #include <linux/module.h>
 #include <linux/leds.h>
+#include <linux/mtd/physmap.h>
 #include <linux/ssb/ssb.h>
 #include <asm/mach-bcm47xx/bcm47xx.h>
 
@@ -43,6 +44,61 @@ static struct platform_device wgt634u_gpio_leds = {
 	}
 };
 
+
+/* 8MiB flash. The struct mtd_partition matches original Netgear WGT634U
+   firmware. */
+static struct mtd_partition wgt634u_partitions[] = {
+	{
+		.name       = "cfe",
+		.offset     = 0,
+		.size       = 0x60000,		/* 384k */
+		.mask_flags = MTD_WRITEABLE 	/* force read-only */
+	},
+	{
+		.name   = "config",
+		.offset = 0x60000,
+		.size   = 0x20000		/* 128k */
+	},
+	{
+		.name   = "linux",
+		.offset = 0x80000,
+		.size   = 0x140000 		/* 1280k */
+	},
+	{
+		.name   = "jffs",
+		.offset = 0x1c0000,
+		.size   = 0x620000 		/* 6272k */
+	},
+	{
+		.name   = "nvram",
+		.offset = 0x7e0000,
+		.size   = 0x20000		/* 128k */
+	},
+};
+
+static struct physmap_flash_data wgt634u_flash_data = {
+	.parts    = wgt634u_partitions,
+	.nr_parts = ARRAY_SIZE(wgt634u_partitions)
+};
+
+static struct resource wgt634u_flash_resource = {
+	.flags = IORESOURCE_MEM,
+};
+
+static struct platform_device wgt634u_flash = {
+	.name          = "physmap-flash",
+	.id            = 0,
+	.dev           = { .platform_data = &wgt634u_flash_data, },
+	.resource      = &wgt634u_flash_resource,
+	.num_resources = 1,
+};
+
+/* Platform devices */
+static struct platform_device *wgt634u_devices[] __initdata = {
+	&wgt634u_flash,
+	&wgt634u_gpio_leds,
+};
+
 static int __init wgt634u_init(void)
 {
 	/* There is no easy way to detect that we are running on a WGT634U
@@ -54,9 +110,16 @@ static int __init wgt634u_init(void)
 
 	if (et0mac[0] == 0x00 &&
 	    ((et0mac[1] == 0x09 && et0mac[2] == 0x5b) ||
-	     (et0mac[1] == 0x0f && et0mac[2] == 0xb5)))
-		return platform_device_register(&wgt634u_gpio_leds);
-	else
+	     (et0mac[1] == 0x0f && et0mac[2] == 0xb5))) {
+		struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore;
+		wgt634u_flash_data.width = mcore->flash_buswidth;
+		wgt634u_flash_resource.start = mcore->flash_window;
+		wgt634u_flash_resource.end = mcore->flash_window
+					   + mcore->flash_window_size
+					   - 1;
+		return platform_add_devices(wgt634u_devices,
+					    ARRAY_SIZE(wgt634u_devices));
+	} else
 		return -ENODEV;
 }
 

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From kumba@gentoo.org Thu Feb  7 05:30:48 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 05:30:56 +0000 (GMT)
Received: from qmta01.westchester.pa.mail.comcast.net ([76.96.62.16]:17358
	"EHLO QMTA01.westchester.pa.mail.comcast.net") by ftp.linux-mips.org
	with ESMTP id S20022204AbYBGFas (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 05:30:48 +0000
Received: from OMTA07.westchester.pa.mail.comcast.net ([76.96.62.59])
	by QMTA01.westchester.pa.mail.comcast.net with comcast
	id mLrh1Y02U1GhbT8510Ja00; Thu, 07 Feb 2008 05:30:35 +0000
Received: from [192.168.1.4] ([69.140.18.238])
	by OMTA07.westchester.pa.mail.comcast.net with comcast
	id mVWf1Y00G58Be2l3T00000; Thu, 07 Feb 2008 05:30:40 +0000
X-Authority-Analysis: v=1.0 c=1 a=8rNRuJ1kDQyzUA1EHfYA:9
 a=ZluIzpL3rFPDPbGnU7FQLa_zARIA:4 a=GZmr5YlNZX8A:10
Message-ID: <47AA977E.5000205@gentoo.org>
Date:	Thu, 07 Feb 2008 00:30:38 -0500
From:	Kumba <kumba@gentoo.org>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To:	Florian Lohoff <flo@rfc822.org>
CC:	Thiemo Seufer <ths@networkno.de>,
	Ralf Baechle <ralf@linux-mips.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
References: <479609A6.2020204@gentoo.org> <20080122154958.GA29108@linux-mips.org> <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org> <20080206085610.GA20751@paradigm.rfc822.org>
In-Reply-To: <20080206085610.GA20751@paradigm.rfc822.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <kumba@gentoo.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18186
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: kumba@gentoo.org
Precedence: bulk
X-list: linux-mips

Florian Lohoff wrote:
> No - the very same GLIBC does not work on mips1 machines and vice versa.
> Might by okay for gentoo but debian needs a run everywhere glibc which
> means some ld.so tricks like with the libc6-i686 to load a different
> glibc from my understanding.

While I could test this easily on gentoo, I was thinking of it more as an 
upstream fix.  I suppose one of those configure switches could be included to 
skip the check as well, with the default being on.  Figured I'd see what you 
guys thought, since it does seem to be a bug that should to be addressed somehow 
rather than patched forever in one of the distros.


--Kumba

-- 
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands 
do them because they must, while the eyes of the great are elsewhere."  --Elrond

From post@pfrst.de Thu Feb  7 12:42:52 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 12:43:01 +0000 (GMT)
Received: from mail1.pearl-online.net ([62.159.194.147]:44573 "EHLO
	mail1.pearl-online.net") by ftp.linux-mips.org with ESMTP
	id S20024640AbYBGMmw (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 12:42:52 +0000
Received: from SNaIlmail.Peter (85.233.39.216.static.cablesurf.de [85.233.39.216])
	by mail1.pearl-online.net (Postfix) with ESMTP id E9FE0B186;
	Thu,  7 Feb 2008 13:42:55 +0100 (CET)
Received: from Indigo2.Peter (Indigo2.Peter [192.168.1.28])
	by SNaIlmail.Peter (8.12.6/8.12.6/Sendmail/Linux 2.0.32) with ESMTP id m1621vZM000748;
	Wed, 6 Feb 2008 03:01:58 +0100
Received: from Indigo2.Peter (localhost [127.0.0.1])
	by Indigo2.Peter (8.12.6/8.12.6/Sendmail/Linux 2.6.14-rc2-ip28) with ESMTP id m17CfTb5000410;
	Thu, 7 Feb 2008 13:41:29 +0100
Received: from localhost (pf@localhost)
	by Indigo2.Peter (8.12.6/8.12.6/Submit) with ESMTP id m17CfTQw000407;
	Thu, 7 Feb 2008 13:41:29 +0100
X-Authentication-Warning: Indigo2.Peter: pf owned process doing -bs
Date:	Thu, 7 Feb 2008 13:41:29 +0100 (CET)
From:	peter fuerst <post@pfrst.de>
X-X-Sender: pf@Indigo2.Peter
Reply-To: post@pfrst.de
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org
Subject: [PATCH] [MIPS]: fix CAC_ADDR/UNCAC_ADDR
In-Reply-To: <Pine.LNX.4.64.0801222042100.5722@fbirervta.pbzchgretzou.qr>
Message-ID: <Pine.LNX.4.58.0802071337440.402@Indigo2.Peter>
References: <54038cd4f87a03884e4f59f8f3697889dfb63c54.1201030614.git.jengelh@computergmbh.de>
 <Pine.LNX.4.64.0801222042100.5722@fbirervta.pbzchgretzou.qr>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Return-Path: <post@pfrst.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18187
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: post@pfrst.de
Precedence: bulk
X-list: linux-mips



With commit db38501511a7513ec4f0ae9922d847c135cf3c78 PAGE_OFFSET was
redefined as CAC_BASE+PHYS_OFFSET, but [UN]CAC_ADDR - which are used
in dma_alloc_coherent() and dma_free_coherent() respectively, and in
drivers/video/au1100fb.c - were not adjusted accordingly.

with kind regards


Signed-off-by: peter fuerst <post@pfrst.de>


--- a/linux-2.6.24/include/asm-mips/page.h	Fri Jan 25 12:23:51 2008
+++ b/linux-2.6.24/include/asm-mips/page.h	Wed Feb  6 23:26:31 2008
@@ -184,8 +184,8 @@
 #define VM_DATA_DEFAULT_FLAGS	(VM_READ | VM_WRITE | VM_EXEC | \
 				 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

-#define UNCAC_ADDR(addr)	((addr) - PAGE_OFFSET + UNCAC_BASE)
-#define CAC_ADDR(addr)		((addr) - UNCAC_BASE + PAGE_OFFSET)
+#define UNCAC_ADDR(addr)	((addr) - PAGE_OFFSET + PHYS_OFFSET + UNCAC_BASE)
+#define CAC_ADDR(addr)		((addr) - UNCAC_BASE + PAGE_OFFSET - PHYS_OFFSET)

 #include <asm-generic/memory_model.h>
 #include <asm-generic/page.h>


From yoichi_yuasa@tripeaks.co.jp Thu Feb  7 13:45:21 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 13:45:30 +0000 (GMT)
Received: from mo31.po.2iij.NET ([210.128.50.54]:49470 "EHLO mo31.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20037395AbYBGNpV (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 13:45:21 +0000
Received: by mo.po.2iij.net (mo31) id m17DjH6n000642; Thu, 7 Feb 2008 22:45:17 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox303) id m17DjF0j026628
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 7 Feb 2008 22:45:16 +0900
Date:	Thu, 7 Feb 2008 22:27:17 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][2/5][MIPS] remove lasat unused definitions
Message-Id: <20080207222717.7d58f50a.yoichi_yuasa@tripeaks.co.jp>
In-Reply-To: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
References: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18188
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips

Removed unused lasat definitions.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/lasat/lasat.h mips/include/asm-mips/lasat/lasat.h
--- mips-orig/include/asm-mips/lasat/lasat.h	2007-12-11 23:12:53.674363750 +0900
+++ mips/include/asm-mips/lasat/lasat.h	2007-12-12 00:14:56.073369250 +0900
@@ -245,9 +245,6 @@ static inline void lasat_ndelay(unsigned
 #define LASAT_SERVICEMODE_MAGIC_1     0xdeadbeef
 #define LASAT_SERVICEMODE_MAGIC_2     0xfedeabba
 
-/* Lasat 100 boards */
-#define LASAT_GT_BASE           (KSEG1ADDR(0x14000000))
-
 /* Lasat 200 boards */
 #define Vrc5074_PHYS_BASE       0x1fa00000
 #define Vrc5074_BASE            (KSEG1ADDR(Vrc5074_PHYS_BASE))
diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/mach-lasat/mach-gt64120.h mips/include/asm-mips/mach-lasat/mach-gt64120.h
--- mips-orig/include/asm-mips/mach-lasat/mach-gt64120.h	2007-12-11 23:12:54.162394250 +0900
+++ mips/include/asm-mips/mach-lasat/mach-gt64120.h	2007-12-12 00:13:39.216566000 +0900
@@ -11,17 +11,6 @@
 /*
  *   GT64120 config space base address on Lasat 100
  */
-#define GT64120_BASE	(KSEG1ADDR(0x14000000))
-
-/*
- *   PCI Bus allocation
- *
- *   (Guessing ...)
- */
-#define GT_PCI_MEM_BASE	0x12000000UL
-#define GT_PCI_MEM_SIZE	0x02000000UL
-#define GT_PCI_IO_BASE	0x10000000UL
-#define GT_PCI_IO_SIZE	0x02000000UL
-#define GT_ISA_IO_BASE	PCI_IO_BASE
+#define GT64120_BASE	KSEG1ADDR(GT_DEF_BASE)
 
 #endif /* _ASM_GT64120_LASAT_GT64120_DEP_H */

From yoichi_yuasa@tripeaks.co.jp Thu Feb  7 13:45:50 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 13:45:54 +0000 (GMT)
Received: from mo31.po.2iij.NET ([210.128.50.54]:50494 "EHLO mo31.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20037335AbYBGNpV (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 13:45:21 +0000
Received: by mo.po.2iij.net (mo31) id m17DjIV9000651; Thu, 7 Feb 2008 22:45:18 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox301) id m17DjGwW020650
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 7 Feb 2008 22:45:17 +0900
Date:	Thu, 7 Feb 2008 22:39:45 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][3/5][MIPS] fix LASAT_CASCADE_IRQ
Message-Id: <20080207223945.32f20b2d.yoichi_yuasa@tripeaks.co.jp>
In-Reply-To: <20080207222717.7d58f50a.yoichi_yuasa@tripeaks.co.jp>
References: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
	<20080207222717.7d58f50a.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18189
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips

Fixed LASAT_CASCADE_IRQ

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/mach-lasat/irq.h mips/include/asm-mips/mach-lasat/irq.h
--- mips-orig/include/asm-mips/mach-lasat/irq.h	2008-01-13 16:43:14.160048268 +0900
+++ mips/include/asm-mips/mach-lasat/irq.h	2008-01-14 21:27:55.180821709 +0900
@@ -1,7 +1,7 @@
 #ifndef _ASM_MACH_LASAT_IRQ_H
 #define _ASM_MACH_LASAT_IRQ_H
 
-#define LASAT_CASCADE_IRQ	(MIPS_CPU_IRQ_BASE + 0)
+#define LASAT_CASCADE_IRQ	(MIPS_CPU_IRQ_BASE + 2)
 
 #define LASAT_IRQ_BASE		8
 #define LASAT_IRQ_END		23

From yoichi_yuasa@tripeaks.co.jp Thu Feb  7 13:46:15 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 13:46:24 +0000 (GMT)
Received: from mo31.po.2iij.NET ([210.128.50.54]:51518 "EHLO mo31.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20037407AbYBGNpW (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 13:45:22 +0000
Received: by mo.po.2iij.net (mo31) id m17DjJAu000665; Thu, 7 Feb 2008 22:45:19 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox304) id m17DjISA004480
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 7 Feb 2008 22:45:18 +0900
Date:	Thu, 7 Feb 2008 22:41:40 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][4/5][MIPS] remove lasat unused functions
Message-Id: <20080207224140.30878819.yoichi_yuasa@tripeaks.co.jp>
In-Reply-To: <20080207223945.32f20b2d.yoichi_yuasa@tripeaks.co.jp>
References: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
	<20080207222717.7d58f50a.yoichi_yuasa@tripeaks.co.jp>
	<20080207223945.32f20b2d.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18190
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips

Removed lasat unused functions.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/setup.c mips/arch/mips/lasat/setup.c
--- mips-orig/arch/mips/lasat/setup.c	2007-11-13 17:14:03.236286250 +0900
+++ mips/arch/mips/lasat/setup.c	2007-11-13 17:14:33.802196500 +0900
@@ -46,13 +46,7 @@
 
 #include "prom.h"
 
-int lasat_command_line;
-void lasatint_init(void);
-
 extern void lasat_reboot_setup(void);
-extern void pcisetup(void);
-extern void edhac_init(void *, void *, void *);
-extern void addrflt_init(void);
 
 struct lasat_misc lasat_misc_info[N_MACHTYPES] = {
 	{

From yoichi_yuasa@tripeaks.co.jp Thu Feb  7 13:46:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 13:46:55 +0000 (GMT)
Received: from mo32.po.2iij.net ([210.128.50.17]:48657 "EHLO mo32.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20037419AbYBGNpX (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 13:45:23 +0000
Received: by mo.po.2iij.net (mo32) id m17DjJb4029128; Thu, 7 Feb 2008 22:45:19 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox300) id m17DjEH3030763
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 7 Feb 2008 22:45:15 +0900
Date:	Thu, 7 Feb 2008 22:26:01 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][1/5][MIPS] remove lasat unused struct
Message-Id: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18191
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips


Removed unused struct bootloader_header.
 
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/image/head.S mips/arch/mips/lasat/image/head.S
--- mips-orig/arch/mips/lasat/image/head.S	2007-11-05 08:41:37.923119250 +0900
+++ mips/arch/mips/lasat/image/head.S	2007-11-05 08:31:39.865743000 +0900
@@ -1,4 +1,5 @@
-#include <asm/lasat/head.h>
+#define LASAT_K_MAGIC0_VAL	0xfedeabba
+#define LASAT_K_MAGIC1_VAL	0xbedead
 
 	.text
 	.section .text.start, "ax"
@@ -21,7 +22,6 @@
 	.word	_kernel_entry
 
 	/* Here we have room for future flags */
-
 	.org	0x40
 reldate:
 	.word	TIMESTAMP
diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/lasat/head.h mips/include/asm-mips/lasat/head.h
--- mips-orig/include/asm-mips/lasat/head.h	2007-11-05 08:41:37.991123500 +0900
+++ mips/include/asm-mips/lasat/head.h	1970-01-01 09:00:00.000000000 +0900
@@ -1,22 +0,0 @@
-/*
- * Image header stuff
- */
-#ifndef _HEAD_H
-#define _HEAD_H
-
-#define LASAT_K_MAGIC0_VAL	0xfedeabba
-#define LASAT_K_MAGIC1_VAL	0x00bedead
-
-#ifndef _LANGUAGE_ASSEMBLY
-#include <linux/types.h>
-struct bootloader_header {
-	u32 magic[2];
-	u32 version;
-	u32 image_start;
-	u32 image_size;
-	u32 kernel_start;
-	u32 kernel_entry;
-};
-#endif
-
-#endif /* _HEAD_H */

From yoichi_yuasa@tripeaks.co.jp Thu Feb  7 13:47:25 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 13:47:33 +0000 (GMT)
Received: from mo30.po.2iij.NET ([210.128.50.53]:64563 "EHLO mo30.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20037430AbYBGNpb (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 13:45:31 +0000
Received: by mo.po.2iij.net (mo30) id m17DjRPc018661; Thu, 7 Feb 2008 22:45:27 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox302) id m17DjJfx000906
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 7 Feb 2008 22:45:19 +0900
Date:	Thu, 7 Feb 2008 22:44:54 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][5/5][MIPS] cleanup lasat reset functions
Message-Id: <20080207224454.1f4254f0.yoichi_yuasa@tripeaks.co.jp>
In-Reply-To: <20080207224140.30878819.yoichi_yuasa@tripeaks.co.jp>
References: <20080207222601.def26d7d.yoichi_yuasa@tripeaks.co.jp>
	<20080207222717.7d58f50a.yoichi_yuasa@tripeaks.co.jp>
	<20080207223945.32f20b2d.yoichi_yuasa@tripeaks.co.jp>
	<20080207224140.30878819.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18192
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips

Clean up lasat reset functions

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/reset.c mips/arch/mips/lasat/reset.c
--- mips-orig/arch/mips/lasat/reset.c	2007-12-13 10:20:15.537626250 +0900
+++ mips/arch/mips/lasat/reset.c	2007-12-13 10:17:32.751452750 +0900
@@ -17,18 +17,21 @@
  *
  * Reset the LASAT board.
  */
-#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/irqflags.h>
 #include <linux/pm.h>
 
+#include <asm/bootinfo.h>
 #include <asm/reboot.h>
-#include <asm/system.h>
 #include <asm/lasat/lasat.h>
 
-#include "picvue.h"
 #include "prom.h"
 
-static void lasat_machine_restart(char *command);
-static void lasat_machine_halt(void);
+#define LASAT_SERVICEMODE_MAGIC_1	0xdeadbeef
+#define LASAT_SERVICEMODE_MAGIC_2	0xfedeabba
+
+static void __iomem *reset_reg;
 
 /* Used to set machine to boot in service mode via /proc interface */
 int lasat_boot_to_service;
@@ -38,10 +41,13 @@ static void lasat_machine_restart(char *
 	local_irq_disable();
 
 	if (lasat_boot_to_service) {
-		*(volatile unsigned int *)0xa0000024 = 0xdeadbeef;
-		*(volatile unsigned int *)0xa00000fc = 0xfedeabba;
+		writel(LASAT_SERVICEMODE_MAGIC_1,
+		       (void __iomem *)KSEG1ADDR(0x24));
+		writel(LASAT_SERVICEMODE_MAGIC_2,
+		       (void __iomem *)KSEG1ADDR(0xfc));
 	}
-	*lasat_misc->reset_reg = 0xbedead;
+
+	writel(0xbedead, reset_reg);
 	for (;;) ;
 }
 
@@ -53,9 +59,25 @@ static void lasat_machine_halt(void)
 	for (;;) ;
 }
 
-void lasat_reboot_setup(void)
+static int lasat_reboot_setup(void)
 {
+	switch (mips_machtype) {
+	case MACH_LASAT_100:
+		reset_reg = (void __iomem *)KSEG1ADDR(0x1c840000);
+		break;
+	case MACH_LASAT_200:
+		reset_reg = (void __iomem *)KSEG1ADDR(0x11080000);
+		break;
+	default:
+		printk(KERN_ERR "Unknown LASAT board\n");
+		return -EINVAL;
+	}
+
 	_machine_restart = lasat_machine_restart;
 	_machine_halt = lasat_machine_halt;
 	pm_power_off = lasat_machine_halt;
+
+	return 0;
 }
+
+arch_initcall(lasat_reboot_setup);
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/setup.c mips/arch/mips/lasat/setup.c
--- mips-orig/arch/mips/lasat/setup.c	2007-12-13 10:20:15.553627250 +0900
+++ mips/arch/mips/lasat/setup.c	2007-12-13 10:17:32.755453000 +0900
@@ -46,20 +46,6 @@
 
 #include "prom.h"
 
-extern void lasat_reboot_setup(void);
-
-struct lasat_misc lasat_misc_info[N_MACHTYPES] = {
-	{
-		.reset_reg	= (void *)KSEG1ADDR(0x1c840000),
-		.flash_wp_reg	= (void *)KSEG1ADDR(0x1c800000), 2
-	}, {
-		.reset_reg	= (void *)KSEG1ADDR(0x11080000),
-		.flash_wp_reg	= (void *)KSEG1ADDR(0x11000000), 6
-	}
-};
-
-struct lasat_misc *lasat_misc;
-
 #ifdef CONFIG_DS1603
 static struct ds_defs ds_defs[N_MACHTYPES] = {
 	{ (void *)DS1603_REG_100, (void *)DS1603_REG_100,
@@ -121,7 +107,7 @@ void __init plat_time_init(void)
 void __init plat_mem_setup(void)
 {
 	int i;
-	lasat_misc  = &lasat_misc_info[mips_machtype];
+
 #ifdef CONFIG_PICVUE
 	picvue = &pvc_defs[mips_machtype];
 #endif
@@ -131,8 +117,6 @@ void __init plat_mem_setup(void)
 		atomic_notifier_chain_register(&panic_notifier_list,
 				&lasat_panic_block[i]);
 
-	lasat_reboot_setup();
-
 #ifdef CONFIG_DS1603
 	ds1603 = &ds_defs[mips_machtype];
 #endif
diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/lasat/lasat.h mips/include/asm-mips/lasat/lasat.h
--- mips-orig/include/asm-mips/lasat/lasat.h	2007-12-13 10:20:15.569628250 +0900
+++ mips/include/asm-mips/lasat/lasat.h	2007-12-13 10:17:32.755453000 +0900
@@ -24,12 +24,6 @@
 
 #ifndef _LANGUAGE_ASSEMBLY
 
-extern struct lasat_misc {
-	volatile u32 *reset_reg;
-	volatile u32 *flash_wp_reg;
-	u32 flash_wp_bit;
-} *lasat_misc;
-
 enum lasat_mtdparts {
 	LASAT_MTD_BOOTLOADER,
 	LASAT_MTD_SERVICE,
@@ -242,9 +236,6 @@ static inline void lasat_ndelay(unsigned
 
 #endif /* !defined (_LANGUAGE_ASSEMBLY) */
 
-#define LASAT_SERVICEMODE_MAGIC_1     0xdeadbeef
-#define LASAT_SERVICEMODE_MAGIC_2     0xfedeabba
-
 /* Lasat 200 boards */
 #define Vrc5074_PHYS_BASE       0x1fa00000
 #define Vrc5074_BASE            (KSEG1ADDR(Vrc5074_PHYS_BASE))

From jon.dufresne@infinitevideocorporation.com Thu Feb  7 15:20:36 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 15:20:45 +0000 (GMT)
Received: from host.infinivid.com ([64.119.179.76]:1231 "EHLO
	host.infinivid.com") by ftp.linux-mips.org with ESMTP
	id S20037787AbYBGPUg (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 15:20:36 +0000
Received: (qmail 8093 invoked from network); 7 Feb 2008 15:20:34 -0000
Received: from unknown (HELO ?10.41.13.129?) (38.101.235.133)
  by host.infinivid.com with (RC4-MD5 encrypted) SMTP; 7 Feb 2008 08:20:33 -0700
Subject: iomemory causing a data bus error
From:	Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
To:	linux-mips@linux-mips.org
Content-Type: text/plain
Date:	Thu, 07 Feb 2008 10:20:02 -0500
Message-Id: <1202397602.3298.25.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) 
Content-Transfer-Encoding: 7bit
Return-Path: <jon.dufresne@infinitevideocorporation.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18193
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jon.dufresne@infinitevideocorporation.com
Precedence: bulk
X-list: linux-mips

Hi,

I am writing a linux mips device driver for a PCI device. I am currently
running into a strange problem when writing a lot of data to iomemory.

I have written a test function that looks like this:

void test_iomem(struct pci_dev *dev)
{
	void __iomem *mem;
	unsigned long start;
	unsigned long size;

	start = pci_resource_start(dev, 0);
	size = pci_resource_len(dev, 0);

	printk("start=%08lx size=%08lx\n", start, size);
	mem = ioremap(start, size);
	while(1) {
		printk("memset %p\n", mem);
		memset_io(mem, 0, 10000);
	}
}

This function is just being used to test the iomemory. If this works, it
should just keep writing 0's to the iomemory forever (at least as I
understand it). When I run insmod on this device driver I see the
following output:

start=20000000 size=04000000
memset c0580000
memset c0580000
memset c0580000
...
...
...

And this goes on for quite some time. Eventually it will stop, moments
later I will see a kernel panic with the following output:


> memset c0580000
> memset c0580000
> memset c0580000
> Data bus error, epc == c027a64c, ra == 800aa27c
> Oops[#1]:
> Cpu 0
> $ 0   : 00000000 10008400 c0363050 00063050
> $ 4   : 00000037 82937800 8109d000 10008401
> $ 8   : 10008400 1000001f 80320000 80320000
> $12   : 80320000 00000001 83133bf8 8031c960
> $16   : 8311c600 00000080 00000001 00000037
> $20   : c02815e8 802e1ae4 c025a000 8008cde4
> $24   : 00000008 00000000                  
> $28   : 83132000 83133be8 c02815ac 800aa27c
> Hi    : 00000000
> Lo    : 00000800
> epc   : c027a64c     Tainted: P     
> ra    : 800aa27c Status: 10008403    KERNEL EXL IE 
> Cause : 1080801c
> PrId  : 00061200
> Modules linked in: tmman1700(P) mousedev usbhid usb_storage phStbFB(P) phStbFBRead(P) phStbVideoRenderer(P) phStbVideoRenderer_Layer(P) phStbStreamingSystem(P) phStbDraw(P) snd_usb_audio snd_usb_lib snd_rawmie
> Process insmod (pid: 790, threadinfo=83132000, task=833e1278)
> Stack : 801ecd20 801ecd20 00000000 00000037 8311c600 00000080 00000001 800aa27c
>         00000000 8008c23c 0000004f 810b9c00 802f7dc0 810c3c00 00000037 810b9c00
>         800aa398 800aa340 10008400 8008c31c 80320000 80320000 00000000 04000000
>         c0280000 8006386c 80320000 c027e814 10008401 8031c570 80061310 802e1ae4
>         c025a000 8008cde4 00000008 00000000 00000000 80062040 83132000 83133ca8
>         ...
> Call Trace:[<801ecd20>][<801ecd20>][<800aa27c>][<8008c23c>][<800aa398>][<800aa340>][<8008c31c>][<8006386c>][<80061310>][<8008cde4>][<80062040>][<80086918>][<8019f924>][<8008cde4>][<c02746d0>][<8017039c>][<801]
> 
> Code: 3c030006  34633050  00431021 <8c430000> 2402ffff  1062002e  00a08821  38620001  30420001 
> Kernel panic - not syncing: Fatal exception in interrupt

I am at a complete loss as to what could be causing this to occur. Any
ideas about why this would crash? In case it helps this is what my PCI
configuration space looks like:

00: 31 11 06 54 02 00 90 02 00 00 80 04 00 40 00 00
10: 08 00 00 20 00 00 00 24 00 00 00 1c 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 36 11 17 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 01 09 18
40: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

I thought the command register and latency timer looked wrong, so I did
modify them before running the above function. And now it looks like the
following:

00: 31 11 06 54 16 01 90 02 00 00 80 04 00 40 00 00
10: 08 00 00 20 00 00 00 24 00 00 00 1c 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 36 11 17 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 01 09 18
40: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Still no luck. Anyone have an idea?

Thanks,
Jon


From florian.fainelli@telecomint.eu Thu Feb  7 18:32:33 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 18:32:42 +0000 (GMT)
Received: from smtp4.int-evry.fr ([157.159.10.71]:40860 "EHLO
	smtp4.int-evry.fr") by ftp.linux-mips.org with ESMTP
	id S20030687AbYBGScd (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 18:32:33 +0000
Received: from smtp2.int-evry.fr (smtp2.int-evry.fr [157.159.10.45])
	by smtp4.int-evry.fr (Postfix) with ESMTP id 57850350AD0
	for <linux-mips@linux-mips.org>; Thu,  7 Feb 2008 19:32:28 +0100 (CET)
Received: from smtp-ext.int-evry.fr (smtp-ext.int-evry.fr [157.159.11.17])
	by smtp2.int-evry.fr (Postfix) with ESMTP id 6F89C3ED168
	for <linux-mips@linux-mips.org>; Thu,  7 Feb 2008 19:32:26 +0100 (CET)
Received: from ibook (unknown [77.192.17.45])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp-ext.int-evry.fr (Postfix) with ESMTP id 57A6D8D16BA
	for <linux-mips@linux-mips.org>; Thu,  7 Feb 2008 19:32:26 +0100 (CET)
From:	Florian Fainelli <florian.fainelli@telecomint.eu>
To:	linux-mips@linux-mips.org
Subject: early_ioremap for MIPS
Date:	Thu, 7 Feb 2008 19:32:21 +0100
User-Agent: KMail/1.9.7
MIME-Version: 1.0
Content-Type: multipart/signed;
  boundary="nextPart1331865.8f1bbS9ugm";
  protocol="application/pgp-signature";
  micalg=pgp-sha1
Content-Transfer-Encoding: 7bit
Message-Id: <200802071932.23965.florian.fainelli@telecomint.eu>
X-int-MailScanner-Information: Please contact the ISP for more information
X-int-MailScanner: Found to be clean
X-int-MailScanner-SpamCheck: 
X-int-MailScanner-From:	florian.fainelli@telecomint.eu
Return-Path: <florian.fainelli@telecomint.eu>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18194
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: florian.fainelli@telecomint.eu
Precedence: bulk
X-list: linux-mips

--nextPart1331865.8f1bbS9ugm
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi list,

Is there any need for early_ioremap on MIPS ? Seems like only x86_64 is=20
implementing it for now.

Thank you for your answer.
=2D-=20
Cordialement, Florian Fainelli
=2D-----------------------------

--nextPart1331865.8f1bbS9ugm
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQBHq063mx9n1G/316sRAk2tAJ47if9r67hp57CfcH1HWFfOOzyaEQCgxYsW
zj7v8YvkuSJQLCp9fmpPW4Y=
=1vBs
-----END PGP SIGNATURE-----

--nextPart1331865.8f1bbS9ugm--

From opencode@gmx.net Thu Feb  7 18:41:43 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 18:41:51 +0000 (GMT)
Received: from mail.gmx.net ([213.165.64.20]:22661 "HELO mail.gmx.net")
	by ftp.linux-mips.org with SMTP id S20038613AbYBGSln (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 7 Feb 2008 18:41:43 +0000
Received: (qmail invoked by alias); 07 Feb 2008 18:41:37 -0000
Received: from vpn58.rz.tu-ilmenau.de (EHLO [192.168.1.100]) [141.24.172.58]
  by mail.gmx.net (mp001) with SMTP; 07 Feb 2008 19:41:37 +0100
X-Authenticated: #44099387
X-Provags-ID: V01U2FsdGVkX19mpMBZ9JJmIBiZ+qKkXKo69bKHjP9z/hZayvc/I2
	ASZNmCqLOEGfuC
Message-ID: <47AB50DD.2050504@gmx.net>
Date:	Thu, 07 Feb 2008 19:41:33 +0100
From:	Andi <opencode@gmx.net>
User-Agent: Thunderbird 2.0.0.6 (X11/20071022)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: Problems booting Linux kernel on Sigma SMP8634
X-Enigmail-Version: 0.95.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Return-Path: <opencode@gmx.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18195
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: opencode@gmx.net
Precedence: bulk
X-list: linux-mips

Hey Folks,

we are working on a SMP8634-based box to get Linux running on it.
Since we don't have any documentation, neither hardware nor software,
there is a lot of re-engineering work to be done.
However, we managed it to let the box load a Linux kernel .. but it
still fails at a certain point.
It's right before the kernel loads the "NET: .."-stuff. I got this from
an other SMP8634-based box, which runs the same kernel.

Any hints about what might doesn't work?


Regards,
	Andi


<output>
Execute final at 0x90020000 ..
Linux version 2.6.15-sigma (rolandhii@venus) (gcc version 4.0.4) #118
PREEMPT We
d Jan 23 10:43:14 CST 2008
Configured for SMP8634 (revision ES6/RevA), detected SMP8634 (revision
ES6/RevA)
.
SMP863x/SMP865x Enabled Devices under Linux/XENV 0x48000000 = 0x00023efe
 BM/IDE PCIHost Ethernet IR FIP I2CM I2CS USB PCIDev1 PCIDev2 PCIDev3
PCIDev4 SC
ARD
Valid MEMCFG found at 0x10000fc0.
CPU revision is: 00019068
Determined physical RAM map:
 memory: 05ee0000 @ 10020000 (usable)
On node 0 totalpages: 89856
  DMA zone: 89856 pages, LIFO batch:15
  DMA32 zone: 0 pages, LIFO batch:0
  Normal zone: 0 pages, LIFO batch:0
  HighMem zone: 0 pages, LIFO batch:0
Built 1 zonelists
Kernel command line: pci=disabled ip=dhcp root=/dev/nfs noinitrd
Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
PID hash table entries: 2048 (order: 11, 32768 bytes)
Using 148.500 MHz high precision timer.
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 86656k/97152k available (3399k kernel code, 10476k reserved,
536k data,
3108k init, 0k highmem)
Calibrating delay loop... 292.86 BogoMIPS (lpj=146432)
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
CPU 0 Unable to handle kernel paging request at virtual address
00000000, epc ==
 9006aea0, ra == 9036dd88
Oops[#1]:
Cpu 0
$ 0   : 00000000 00000001 90a7f87c 00000000
$ 4   : 95e88d38 90a7f870 00000001 00000000
$ 8   : 90702b80 90700000 90a7b000 00000000
$12   : 90a7e000 95e88cc0 00000012 00000010
$16   : 90a6df70 95e88d34 90a75be8 95e88d38
$20   : 90420000 90700000 00000030 90420000
$24   : 00000001 00000000
$28   : 90a7e000 90a7f860 90380000 9036dd88
Hi    : 2a8b2775
Lo    : 355f2140
epc   : 9006aea0     Not tainted
ra    : 9036dd88 Status: 10001c02    KERNEL EXL
Cause : 7080800c
BadVA : 00000000
PrId  : 00019068
Modules linked in:
Process swapper (pid: 1, threadinfo=90a7e000, task=90a75be8)
Stack : 00000000 00000000 00000001 00000000 00000001 90a75be8 90047cd0
95e88d38
        00000000 00000001 90a6df70 95e88d34 90700000 00007948 90420000
9009a838
        90a7b000 00007948 90420000 90700000 00001846 900b4d60 00000000
00000000
        900c9ec4 90a7b000 00000000 90a7f908 90a7b000 900b87c8 90a6df70
00000000
        90710000 00000000 00000000 00000000 00000000 9009a8e8 90420000
90700000
        ...
Call Trace: [<90047cd0>]  [<9009a838>]  [<900b4d60>]  [<900c9ec4>]
[<900b87c8>]
  [<9009a8e8>]  [<9009a900>]  [<903fa270>]  [<903fa2ec>]  [<903faa64>]
[<903700
00>]  [<903fb10c>]  [<9008190c>]  [<903fb92c>]  [<903fc5f0>]
[<90053b74>]  [<90
053b44>]  [<900204d0>]  [<90026bdc>]  [<90026bcc>]

Code: 24a2000c  aca4000c  ac820004 <ace20000> ac470004  10c00002
41606000  4160
6020  000000c0
Kernel panic - not syncing: Attempted to kill init!
</output>


From ddaney@avtrex.com Thu Feb  7 19:04:04 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 19:04:13 +0000 (GMT)
Received: from smtp1.dnsmadeeasy.com ([205.234.170.144]:49052 "EHLO
	smtp1.dnsmadeeasy.com") by ftp.linux-mips.org with ESMTP
	id S20038717AbYBGTEE (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 19:04:04 +0000
Received: from smtp1.dnsmadeeasy.com (localhost [127.0.0.1])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP id D585E31222D;
	Thu,  7 Feb 2008 19:04:05 +0000 (UTC)
X-Authenticated-Name: js.dnsmadeeasy
X-Transit-System: In case of SPAM please contact abuse@dnsmadeeasy.com
Received: from avtrex.com (unknown [67.116.42.147])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP;
	Thu,  7 Feb 2008 19:04:05 +0000 (UTC)
Received: from dl2.hq2.avtrex.com ([192.168.7.26]) by avtrex.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Thu, 7 Feb 2008 11:03:49 -0800
Message-ID: <47AB5614.5010804@avtrex.com>
Date:	Thu, 07 Feb 2008 11:03:48 -0800
From:	David Daney <ddaney@avtrex.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20071115)
MIME-Version: 1.0
To:	Andi <opencode@gmx.net>
Cc:	linux-mips@linux-mips.org
Subject: Re: Problems booting Linux kernel on Sigma SMP8634
References: <47AB50DD.2050504@gmx.net>
In-Reply-To: <47AB50DD.2050504@gmx.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 07 Feb 2008 19:03:49.0862 (UTC) FILETIME=[2C556060:01C869BC]
Return-Path: <ddaney@avtrex.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18196
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ddaney@avtrex.com
Precedence: bulk
X-list: linux-mips

Andi wrote:
> Hey Folks,
> 
> we are working on a SMP8634-based box to get Linux running on it.
> Since we don't have any documentation, neither hardware nor software,
> there is a lot of re-engineering work to be done.
> However, we managed it to let the box load a Linux kernel .. but it
> still fails at a certain point.
> It's right before the kernel loads the "NET: .."-stuff. I got this from
> an other SMP8634-based box, which runs the same kernel.
> 
> Any hints about what might doesn't work?
> 

You need symbols so that you can interpret the stack trace.  It is 
impossible to tell anything without that.
.
.
.
> Determined physical RAM map:
>  memory: 05ee0000 @ 10020000 (usable)

This seems like an odd value.  I would expect either 03fe0000 or 07fe0000

David Daney

From jon.dufresne@infinitevideocorporation.com Thu Feb  7 20:33:30 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 20:33:38 +0000 (GMT)
Received: from host.infinivid.com ([64.119.179.76]:41187 "EHLO
	host.infinivid.com") by ftp.linux-mips.org with ESMTP
	id S20038975AbYBGUda (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 20:33:30 +0000
Received: (qmail 32425 invoked from network); 7 Feb 2008 20:33:28 -0000
Received: from unknown (HELO ?10.41.13.129?) (38.101.235.133)
  by host.infinivid.com with (RC4-MD5 encrypted) SMTP; 7 Feb 2008 13:33:28 -0700
Subject: Re: iomemory causing a data bus error
From:	Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
To:	linux-mips@linux-mips.org
In-Reply-To: <1202397602.3298.25.camel@localhost>
References: <1202397602.3298.25.camel@localhost>
Content-Type: text/plain
Date:	Thu, 07 Feb 2008 15:32:56 -0500
Message-Id: <1202416377.3298.44.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) 
Content-Transfer-Encoding: 7bit
Return-Path: <jon.dufresne@infinitevideocorporation.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18197
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jon.dufresne@infinitevideocorporation.com
Precedence: bulk
X-list: linux-mips

I took some time and wrote a VERY simplified driver. The driver is now
doing only the required steps to test this error. I figured this would
localize the problem as much as possible. When I run this new driver. I
now see the following error:

ohci_hcd 0000:00:09.0: OHCI Unrecoverable Error, disabled
ohci_hcd 0000:00:09.0: HC died; cleaning up
irq 55: nobody cared (try booting with the "irqpoll" option)
Call
Trace:[<8006926c>][<8006926c>][<800ab1cc>][<800ab434>][<800aa27c>][<800aa27c>][<800aa3b8>][<8007faac>][<80085e9c>][<80085e70>][<8006386c>][<80061310>][<8009e3c4>][<8019d278>][<80062040>][<80062040>][<800]
handlers:
[<801dd630>]
[<801ecce8>]
[<801ecce8>]
[<801ecce8>]
[<801ae6c8>]
Disabling IRQ #55

It looks to me like there is a problem with the USB driver. An
interesting note is that my device's interrupt is also irq 55. I have
tried this simplified driver both requesting the interrupt, in which
case it is never triggered, and not requesting the interrupt. Both cases
end the same way. After I get that message the system is still running,
but extremely slowly.

Any ideas?

Thanks,
Jon


From jon.dufresne@infinitevideocorporation.com Thu Feb  7 21:01:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 21:01:54 +0000 (GMT)
Received: from host.infinivid.com ([64.119.179.76]:62593 "EHLO
	host.infinivid.com") by ftp.linux-mips.org with ESMTP
	id S20038266AbYBGVBp (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 21:01:45 +0000
Received: (qmail 30516 invoked from network); 7 Feb 2008 21:01:43 -0000
Received: from unknown (HELO ?10.41.13.129?) (38.101.235.133)
  by host.infinivid.com with (RC4-MD5 encrypted) SMTP; 7 Feb 2008 14:01:43 -0700
Subject: RE: iomemory causing a data bus error
From:	Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
To:	Don Hiatt <DHiatt@zeugmasystems.com>,
	linux-mips <linux-mips@linux-mips.org>
In-Reply-To: <DDFD17CC94A9BD49A82147DDF7D545C57986B1@exchange.ZeugmaSystems.local>
References: <1202397602.3298.25.camel@localhost>
	 <1202416377.3298.44.camel@localhost>
	 <DDFD17CC94A9BD49A82147DDF7D545C57986B1@exchange.ZeugmaSystems.local>
Content-Type: text/plain
Date:	Thu, 07 Feb 2008 16:01:11 -0500
Message-Id: <1202418072.3298.49.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) 
Content-Transfer-Encoding: 7bit
Return-Path: <jon.dufresne@infinitevideocorporation.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18198
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jon.dufresne@infinitevideocorporation.com
Precedence: bulk
X-list: linux-mips

> Take a look at /proc/interrupts to see if you have something firing
> that you do not expect.

I took a look and this is what I see:

# cat /proc/interrupts 
           CPU0       
  2:          0   PNX Level IRQ  GIC
  7:          0   PNX Level IRQ  Timer
 10:        661   PNX Level IRQ  pnx8550-1
 11:        605   PNX Level IRQ  pnx8550-2
 13:          1   PNX Level IRQ  ohci_hcd:usb2
 23:        583   PNX Level IRQ  i2c
 24:        845   PNX Level IRQ  i2c
 28:        334   PNX Level IRQ  pnx8xxx-uart
 34:          1   PNX Level IRQ  Drawing Engine
 47:          0   PNX Level IRQ  vmsp1
 49:          0   PNX Level IRQ  vmsp2
 55:      15876   PNX Level IRQ  libata, ehci_hcd:usb1, ohci_hcd:usb3, ohci_hcd:usb4, eth0
 75:         18   PNX Level IRQ  i2c
 78:        192   PNX Level IRQ  i2c
 79:      80239   PNX Level IRQ  timer
 80:         19   PNX Level IRQ  Monotonic timer

ERR:      99373

It looks like there are quite a few devices on irq 55 even before I load
my module. Is it at all possible that I could get my device to use a
different interrupt line? or is this totally restricted by hardware?

Also what does the "ERR" mean? Does this keep a tally of errors? If so
does 99K errors seem high?

> If you are sharing the same IRQ as USB, do you request the IRQ as
> shared? Does the USB as well?

My device does, yes. At this point I have to assume the USB driver is
too. But even if that was the problem, it wouldn't explain why the error
also happens when I don't request the interrupt at all.

Thanks,
Jon


From jon.dufresne@infinitevideocorporation.com Thu Feb  7 21:41:07 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 07 Feb 2008 21:41:16 +0000 (GMT)
Received: from host.infinivid.com ([64.119.179.76]:57491 "EHLO
	host.infinivid.com") by ftp.linux-mips.org with ESMTP
	id S20039087AbYBGVlH (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 7 Feb 2008 21:41:07 +0000
Received: (qmail 3879 invoked from network); 7 Feb 2008 21:41:05 -0000
Received: from unknown (HELO ?10.41.13.129?) (38.101.235.133)
  by host.infinivid.com with (RC4-MD5 encrypted) SMTP; 7 Feb 2008 14:41:05 -0700
Subject: RE: iomemory causing a data bus error
From:	Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
To:	Don Hiatt <DHiatt@zeugmasystems.com>
Cc:	linux-mips <linux-mips@linux-mips.org>
In-Reply-To: <DDFD17CC94A9BD49A82147DDF7D545C57986CE@exchange.ZeugmaSystems.local>
References: <1202397602.3298.25.camel@localhost>
	 <1202416377.3298.44.camel@localhost>
	 <DDFD17CC94A9BD49A82147DDF7D545C57986B1@exchange.ZeugmaSystems.local>
	 <1202418072.3298.49.camel@localhost>
	 <DDFD17CC94A9BD49A82147DDF7D545C57986CE@exchange.ZeugmaSystems.local>
Content-Type: text/plain
Date:	Thu, 07 Feb 2008 16:40:34 -0500
Message-Id: <1202420434.3298.53.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) 
Content-Transfer-Encoding: 7bit
Return-Path: <jon.dufresne@infinitevideocorporation.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18199
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jon.dufresne@infinitevideocorporation.com
Precedence: bulk
X-list: linux-mips

> For ERR: http://lkml.org/lkml/2005/1/12/356

Thanks, I read through that. Seems like I could be dealing with some
imperfect hardware.

Whether or no my device is plugged into the box, I get an order of
magnitude of 10^4 ERRs. Does this seem like a huge amount to anyone
else?

Is there anything I can do to try to reduce this number? Or should I
even worry about it? Could this be connected to the device driver issues
I am having?

Thanks,
Jon



From opencode@gmx.net Fri Feb  8 09:24:15 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 09:24:25 +0000 (GMT)
Received: from mail.gmx.net ([213.165.64.20]:15068 "HELO mail.gmx.net")
	by ftp.linux-mips.org with SMTP id S20022283AbYBHJYP (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 8 Feb 2008 09:24:15 +0000
Received: (qmail invoked by alias); 08 Feb 2008 09:24:09 -0000
Received: from vpn79.rz.tu-ilmenau.de (EHLO [192.168.1.100]) [141.24.172.79]
  by mail.gmx.net (mp003) with SMTP; 08 Feb 2008 10:24:09 +0100
X-Authenticated: #44099387
X-Provags-ID: V01U2FsdGVkX19XcKYArHFXuG56mY5feqTD5e6uhcGEBdnJRO2rvS
	IWkk1F+P+r1kFa
Message-ID: <47AC1FB5.4060208@gmx.net>
Date:	Fri, 08 Feb 2008 10:24:05 +0100
From:	Andi <opencode@gmx.net>
User-Agent: Thunderbird 2.0.0.6 (X11/20071022)
MIME-Version: 1.0
CC:	linux-mips@linux-mips.org
Subject: Re: Problems booting Linux kernel on Sigma SMP8634
References: <47AB50DD.2050504@gmx.net> <47AB5614.5010804@avtrex.com>
In-Reply-To: <47AB5614.5010804@avtrex.com>
X-Enigmail-Version: 0.95.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
To:	unlisted-recipients:; (no To-header on input)
Return-Path: <opencode@gmx.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18200
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: opencode@gmx.net
Precedence: bulk
X-list: linux-mips

Hey David,

> You need symbols so that you can interpret the stack trace.  It is
> impossible to tell anything without that.

Unfortunately, we don't have much more than just the binary kernel
image. No sources. No memory map.
How can I find out which functions do correspondent to these addresses?


I thought about that this might be a common problem, if one doesn't load
a certain ucode, maybe the interrupt-handler or so ..


>> Determined physical RAM map:
>>  memory: 05ee0000 @ 10020000 (usable)
> 
> This seems like an odd value.  I would expect either 03fe0000 or 07fe0000

This was also my first guess. But this seems to be ok, as you can see on
the "reference" output here:
http://www.networkedmediatank.com/viewtopic.php?t=457

This box has a total of 128MB of memory ..

> 
> David Daney
> 

Regards,
	Andi


From macro@linux-mips.org Fri Feb  8 11:05:23 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 11:05:31 +0000 (GMT)
Received: from cerber.ds.pg.gda.pl ([153.19.208.18]:24450 "EHLO
	cerber.ds.pg.gda.pl") by ftp.linux-mips.org with ESMTP
	id S28575405AbYBHLFX (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 11:05:23 +0000
Received: from localhost (unknown [127.0.0.17])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 5FEF040044;
	Fri,  8 Feb 2008 12:05:22 +0100 (CET)
X-Virus-Scanned: amavisd-new at cerber.ds.pg.gda.pl
Received: from cerber.ds.pg.gda.pl ([153.19.208.18])
	by localhost (cerber.ds.pg.gda.pl [153.19.208.18]) (amavisd-new, port 10024)
	with ESMTP id mMUlYh5B2G0D; Fri,  8 Feb 2008 12:05:15 +0100 (CET)
Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id AA0E6400BE;
	Fri,  8 Feb 2008 12:05:15 +0100 (CET)
Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6])
	by piorun.ds.pg.gda.pl (8.13.8/8.13.8) with ESMTP id m18B5II7000451;
	Fri, 8 Feb 2008 12:05:18 +0100
Date:	Fri, 8 Feb 2008 11:05:12 +0000 (GMT)
From:	"Maciej W. Rozycki" <macro@linux-mips.org>
To:	Florian Fainelli <florian.fainelli@telecomint.eu>
cc:	linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
In-Reply-To: <200802071932.23965.florian.fainelli@telecomint.eu>
Message-ID: <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
References: <200802071932.23965.florian.fainelli@telecomint.eu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: ClamAV 0.92/5739/Fri Feb  8 11:19:58 2008 on piorun.ds.pg.gda.pl
X-Virus-Status:	Clean
Return-Path: <macro@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18201
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Thu, 7 Feb 2008, Florian Fainelli wrote:

> Is there any need for early_ioremap on MIPS ? Seems like only x86_64 is 
> implementing it for now.

 There is hardly any need as generally KSEG0/KSEG1 and XPHYS mappings 
fulfil the need and are always available, even before paging has been 
initialised.  Some 32-bit systems with devices outside low 512MB of 
physical address space could potentially benefit though.  I recall some 
Alchemy systems may fall into this category.

  Maciej

From tsbogend@alpha.franken.de Fri Feb  8 12:31:24 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 12:31:32 +0000 (GMT)
Received: from elvis.franken.de ([193.175.24.41]:2467 "EHLO elvis.franken.de")
	by ftp.linux-mips.org with ESMTP id S28575504AbYBHMbY (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 8 Feb 2008 12:31:24 +0000
Received: from uucp (helo=solo.franken.de)
	by elvis.franken.de with local-bsmtp (Exim 3.36 #1)
	id 1JNSO2-00055w-00; Fri, 08 Feb 2008 13:31:22 +0100
Received: by solo.franken.de (Postfix, from userid 1000)
	id 14FABC2359; Fri,  8 Feb 2008 13:28:59 +0100 (CET)
Date:	Fri, 8 Feb 2008 13:28:59 +0100
To:	"Maciej W. Rozycki" <macro@linux-mips.org>
Cc:	Florian Fainelli <florian.fainelli@telecomint.eu>,
	linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
Message-ID: <20080208122858.GA8267@alpha.franken.de>
References: <200802071932.23965.florian.fainelli@telecomint.eu> <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
User-Agent: Mutt/1.5.13 (2006-08-11)
From:	tsbogend@alpha.franken.de (Thomas Bogendoerfer)
Return-Path: <tsbogend@alpha.franken.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18202
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: tsbogend@alpha.franken.de
Precedence: bulk
X-list: linux-mips

On Fri, Feb 08, 2008 at 11:05:12AM +0000, Maciej W. Rozycki wrote:
> On Thu, 7 Feb 2008, Florian Fainelli wrote:
> 
> > Is there any need for early_ioremap on MIPS ? Seems like only x86_64 is 
> > implementing it for now.
> 
> physical address space could potentially benefit though.  I recall some 
> Alchemy systems may fall into this category.

Jazz has the same problem. Right now it's solved by using wired tlb
entries. Which is sort of an early_ioremap.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

From ralf@linux-mips.org Fri Feb  8 14:44:19 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 14:44:21 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:38316 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28575756AbYBHOoT (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 14:44:19 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m18EiI4R022457;
	Fri, 8 Feb 2008 14:44:18 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m18EiHOD022456;
	Fri, 8 Feb 2008 14:44:17 GMT
Date:	Fri, 8 Feb 2008 14:44:17 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc:	"Maciej W. Rozycki" <macro@linux-mips.org>,
	Florian Fainelli <florian.fainelli@telecomint.eu>,
	linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
Message-ID: <20080208144417.GA22331@linux-mips.org>
References: <200802071932.23965.florian.fainelli@telecomint.eu> <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl> <20080208122858.GA8267@alpha.franken.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080208122858.GA8267@alpha.franken.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18203
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, Feb 08, 2008 at 01:28:59PM +0100, Thomas Bogendoerfer wrote:

> Jazz has the same problem. Right now it's solved by using wired tlb
> entries. Which is sort of an early_ioremap.

One with a totally awkward API requiring the user having to know about
the underlying TLB organization.  A better implementation wouldn't be
hard to do, for anything that's outside of KSEG1's address range grab
a new TLB entry if needed and wire an entry into it.  Use the same
API as good old ioremap() and call the result early_ioremap().

  Ralf

From aurel32@hall.aurel32.net Fri Feb  8 14:51:43 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 14:51:51 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:61844 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S28575779AbYBHOvn (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 8 Feb 2008 14:51:43 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurel32@hall.aurel32.net>)
	id 1JNUZm-0001i4-4E; Fri, 08 Feb 2008 15:51:38 +0100
Date:	Fri, 8 Feb 2008 15:51:38 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org
Subject: [PATCH] [MIPS] Scan PCI busses when they are registered
Message-ID: <20080208145138.GA6301@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurel32@hall.aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18204
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips

The patch below changes register_pci_controller() such that controllers
being added after pcibios_init() has run are be scanned immediately.

This is needed for example by the BCM47xx PCI controller, which is
located on the SSB bus, which is now initialized after the PCI
subsystem.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/pci/pci.c |   80 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 53 insertions(+), 27 deletions(-)

diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index 6e6981f..ef37876 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -35,6 +35,8 @@ struct pci_controller *pci_isa_hose;
 unsigned long PCIBIOS_MIN_IO	= 0x0000;
 unsigned long PCIBIOS_MIN_MEM	= 0;
 
+static int pci_initialized;
+
 /*
  * We need to avoid collisions with `mirrored' VGA ports
  * and other strange ISA hardware, so we always want the
@@ -75,6 +77,42 @@ pcibios_align_resource(void *data, struct resource *res,
 	res->start = start;
 }
 
+static void __devinit pcibios_scanbus(struct pci_controller *hose)
+{
+	static int next_busno;
+	static int need_domain_info;
+	struct pci_bus *bus;
+
+	if (!hose->iommu)
+		PCI_DMA_BUS_IS_PHYS = 1;
+
+	if (hose->get_busno && pci_probe_only)
+		next_busno = (*hose->get_busno)();
+
+	bus = pci_scan_bus(next_busno, hose->pci_ops, hose);
+	hose->bus = bus;
+
+	need_domain_info = need_domain_info || hose->index;
+	hose->need_domain_info = need_domain_info;
+	if (bus) {
+		next_busno = bus->subordinate + 1;
+		/* Don't allow 8-bit bus number overflow inside the hose -
+		   reserve some space for bridges. */
+		if (next_busno > 224) {
+			next_busno = 0;
+			need_domain_info = 1;
+		}
+
+		if (!pci_probe_only) {
+			pci_bus_size_bridges(bus);
+			pci_bus_assign_resources(bus);
+			pci_enable_bridges(bus);
+		}
+	}
+}
+
+static DEFINE_MUTEX(pci_scan_mutex);
+
 void __devinit register_pci_controller(struct pci_controller *hose)
 {
 	if (request_resource(&iomem_resource, hose->mem_resource) < 0)
@@ -94,6 +132,17 @@ void __devinit register_pci_controller(struct pci_controller *hose)
 		printk(KERN_WARNING
 		       "registering PCI controller with io_map_base unset\n");
 	}
+
+	/*
+	 * Scan the bus if it is register after the PCI subsystem
+	 * initialization.
+	 */
+	if (pci_initialized) {
+		mutex_lock(&pci_scan_mutex);
+		pcibios_scanbus(hose);
+		mutex_unlock(&pci_scan_mutex);
+	}
+
 	return;
 
 out:
@@ -126,38 +175,15 @@ static u8 __init common_swizzle(struct pci_dev *dev, u8 *pinp)
 static int __init pcibios_init(void)
 {
 	struct pci_controller *hose;
-	struct pci_bus *bus;
-	int next_busno;
-	int need_domain_info = 0;
 
 	/* Scan all of the recorded PCI controllers.  */
-	for (next_busno = 0, hose = hose_head; hose; hose = hose->next) {
-
-		if (!hose->iommu)
-			PCI_DMA_BUS_IS_PHYS = 1;
-
-		if (hose->get_busno && pci_probe_only)
-			next_busno = (*hose->get_busno)();
-
-		bus = pci_scan_bus(next_busno, hose->pci_ops, hose);
-		hose->bus = bus;
-		need_domain_info = need_domain_info || hose->index;
-		hose->need_domain_info = need_domain_info;
-		if (bus) {
-			next_busno = bus->subordinate + 1;
-			/* Don't allow 8-bit bus number overflow inside the hose -
-			   reserve some space for bridges. */
-			if (next_busno > 224) {
-				next_busno = 0;
-				need_domain_info = 1;
-			}
-		}
-	}
+	for (hose = hose_head; hose; hose = hose->next)
+		pcibios_scanbus(hose);
 
-	if (!pci_probe_only)
-		pci_assign_unassigned_resources();
 	pci_fixup_irqs(common_swizzle, pcibios_map_irq);
 
+	pci_initialized = 1;
+
 	return 0;
 }
 
-- 
1.5.3.8


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From macro@linux-mips.org Fri Feb  8 15:03:33 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 15:03:41 +0000 (GMT)
Received: from cerber.ds.pg.gda.pl ([153.19.208.18]:21455 "EHLO
	cerber.ds.pg.gda.pl") by ftp.linux-mips.org with ESMTP
	id S28575868AbYBHPDd (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 15:03:33 +0000
Received: from localhost (unknown [127.0.0.17])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 37D1A400A9;
	Fri,  8 Feb 2008 16:03:33 +0100 (CET)
X-Virus-Scanned: amavisd-new at cerber.ds.pg.gda.pl
Received: from cerber.ds.pg.gda.pl ([153.19.208.18])
	by localhost (cerber.ds.pg.gda.pl [153.19.208.18]) (amavisd-new, port 10024)
	with ESMTP id qPTWq6ior5QK; Fri,  8 Feb 2008 16:03:23 +0100 (CET)
Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 529AE40044;
	Fri,  8 Feb 2008 16:03:23 +0100 (CET)
Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6])
	by piorun.ds.pg.gda.pl (8.13.8/8.13.8) with ESMTP id m18F3RHE003487;
	Fri, 8 Feb 2008 16:03:27 +0100
Date:	Fri, 8 Feb 2008 15:03:18 +0000 (GMT)
From:	"Maciej W. Rozycki" <macro@linux-mips.org>
To:	Ralf Baechle <ralf@linux-mips.org>
cc:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Florian Fainelli <florian.fainelli@telecomint.eu>,
	linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
In-Reply-To: <20080208144417.GA22331@linux-mips.org>
Message-ID: <Pine.LNX.4.64N.0802081500290.7017@blysk.ds.pg.gda.pl>
References: <200802071932.23965.florian.fainelli@telecomint.eu>
 <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
 <20080208122858.GA8267@alpha.franken.de> <20080208144417.GA22331@linux-mips.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: ClamAV 0.92/5739/Fri Feb  8 11:19:58 2008 on piorun.ds.pg.gda.pl
X-Virus-Status:	Clean
Return-Path: <macro@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18205
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, 8 Feb 2008, Ralf Baechle wrote:

> > Jazz has the same problem. Right now it's solved by using wired tlb
> > entries. Which is sort of an early_ioremap.
> 
> One with a totally awkward API requiring the user having to know about
> the underlying TLB organization.  A better implementation wouldn't be
> hard to do, for anything that's outside of KSEG1's address range grab
> a new TLB entry if needed and wire an entry into it.  Use the same
> API as good old ioremap() and call the result early_ioremap().

 And presumably by the time paging has been set up for real, all the early 
allocations could get automatically graduated to ordinary ones, freeing up 
all the wired TLB entries set up so far and keeping the values of cookies 
obtained intact.

  Maciej

From flo@rfc822.org Fri Feb  8 17:27:08 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 17:27:15 +0000 (GMT)
Received: from hydra.gt.owl.de ([195.71.99.218]:17639 "EHLO hydra.gt.owl.de")
	by ftp.linux-mips.org with ESMTP id S28576208AbYBHR1I (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 8 Feb 2008 17:27:08 +0000
Received: by hydra.gt.owl.de (Postfix, from userid 1000)
	id 7061632CF4; Fri,  8 Feb 2008 18:23:16 +0100 (CET)
Date:	Fri, 8 Feb 2008 18:23:16 +0100
From:	Florian Lohoff <flo@rfc822.org>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	Kumba <kumba@gentoo.org>, Thiemo Seufer <ths@networkno.de>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080208172316.GD25893@paradigm.rfc822.org>
References: <479AA532.5040603@gentoo.org> <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org> <20080206085610.GA20751@paradigm.rfc822.org> <20080206142217.GA7633@linux-mips.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="3lcZGd9BuhuYXNfi"
Content-Disposition: inline
In-Reply-To: <20080206142217.GA7633@linux-mips.org>
Organization: rfc822 - pure communication
X-SpiderMe: mh-200802081730@listme.rfc822.org
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <flo@rfc822.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18206
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: flo@rfc822.org
Precedence: bulk
X-list: linux-mips


--3lcZGd9BuhuYXNfi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Feb 06, 2008 at 02:22:17PM +0000, Ralf Baechle wrote:
> On Wed, Feb 06, 2008 at 09:56:10AM +0100, Florian Lohoff wrote:
>=20
> > No - the very same GLIBC does not work on mips1 machines and vice versa.
> > Might by okay for gentoo but debian needs a run everywhere glibc which
> > means some ld.so tricks like with the libc6-i686 to load a different
> > glibc from my understanding.
>=20
> There is the long standing plan to generate a shared library on on the
> fly during kernel initialization and move atomic operations and performan=
ce
> relevant functions like memcpy to it.  Thiemo's latest work on tlbex.c
> got us a tiny step closer to that.

You mean a single page in every processes address space or some
/proc/sys/kernel/libatomic.so which would be a really cool hack?

Flo
--=20
Florian Lohoff                  flo@rfc822.org             +49-171-2280134
	Those who would give up a little freedom to get a little=20
          security shall soon have neither - Benjamin Franklin

--3lcZGd9BuhuYXNfi
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHrJAEUaz2rXW+gJcRAoTHAJ9kQ5dpzZpez3JuJzpKSAsIMAkxzgCgjkIT
OQjiDPZ3TdHMkPWeEcLs4ns=
=LNNM
-----END PGP SIGNATURE-----

--3lcZGd9BuhuYXNfi--

From minyard@acm.org Fri Feb  8 19:03:30 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 19:03:38 +0000 (GMT)
Received: from vms042pub.verizon.net ([206.46.252.42]:8130 "EHLO
	vms042pub.verizon.net") by ftp.linux-mips.org with ESMTP
	id S28576300AbYBHTDa (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 19:03:30 +0000
Received: from wf-rch.minyard.local ([71.123.203.124])
 by vms042.mailsrvcs.net (Sun Java System Messaging Server 6.2-6.01 (built Apr
 3 2006)) with ESMTPA id <0JVX00LZGOXHMWS4@vms042.mailsrvcs.net> for
 linux-mips@linux-mips.org; Fri, 08 Feb 2008 13:03:18 -0600 (CST)
Received: from i2 (i2.minyard.local [192.168.27.126])
	by wf-rch.minyard.local (Postfix) with ESMTP id CD2181F7E7	for
 <linux-mips@linux-mips.org>; Fri, 08 Feb 2008 13:03:16 -0600 (CST)
Date:	Fri, 08 Feb 2008 13:03:16 -0600
From:	Corey Minyard <minyard@acm.org>
Subject: [PATCH] MIPS: use thread flag to choose math emulator register mode
To:	linux-mips@linux-mips.org
Reply-to: minyard@acm.org
Message-id: <20080208190316.GA27730@minyard.local>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-disposition: inline
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <minyard@acm.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18207
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: minyard@acm.org
Precedence: bulk
X-list: linux-mips

From: Corey Minyard <cminyard@mvista.com>

If a processor does not have floating point support, then the
cp0_status FR bit will always be set to 0 according to the MIPS
documents.  So using that to tell if the userland is in 32 or 64 bit
register mode on a 64-bit processor is kind of pointless.

Instead, use the thread flag that are designed for this purpose.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
---

Index: linux-2.6.24/arch/mips/math-emu/cp1emu.c
===================================================================
--- linux-2.6.24.orig/arch/mips/math-emu/cp1emu.c
+++ linux-2.6.24/arch/mips/math-emu/cp1emu.c
@@ -178,18 +178,21 @@ static int isBranchInstr(mips_instructio
 #define FR_BIT 0
 #endif
 
+#define FR_64_BIT_SUPPORT (!test_thread_flag(TIF_32BIT_REGS))
+#define FR_32_BIT_REG_MASK (~(FR_64_BIT_SUPPORT == 0))
+
 #define SIFROMREG(si, x) ((si) = \
-			(xcp->cp0_status & FR_BIT) || !(x & 1) ? \
+			(FR_64_BIT_SUPPORT) || !(x & 1) ? \
 			(int)ctx->fpr[x] : \
 			(int)(ctx->fpr[x & ~1] >> 32 ))
-#define SITOREG(si, x)	(ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] = \
-			(xcp->cp0_status & FR_BIT) || !(x & 1) ? \
+#define SITOREG(si, x)	(ctx->fpr[x & FR_32_BIT_REG_MASK] = \
+			FR_64_BIT_SUPPORT || !(x & 1) ? \
 			ctx->fpr[x & ~1] >> 32 << 32 | (u32)(si) : \
 			ctx->fpr[x & ~1] << 32 >> 32 | (u64)(si) << 32)
 
 #define DIFROMREG(di, x) ((di) = \
-			ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)])
-#define DITOREG(di, x)	(ctx->fpr[x & ~((xcp->cp0_status & FR_BIT) == 0)] \
+			ctx->fpr[x & FR_32_BIT_REG_MASK])
+#define DITOREG(di, x)	(ctx->fpr[x & FR_32_BIT_REG_MASK] \
 			= (di))
 
 #define SPFROMREG(sp, x) SIFROMREG((sp).bits, x)

From ths@networkno.de Fri Feb  8 19:05:26 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 19:05:33 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:42920 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S28576310AbYBHTF0 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 19:05:26 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id 9F2AE48916;
	Fri,  8 Feb 2008 20:05:20 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JNYXH-0004s2-E6; Fri, 08 Feb 2008 19:05:19 +0000
Date:	Fri, 8 Feb 2008 19:05:19 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	Florian Lohoff <flo@rfc822.org>
Cc:	Ralf Baechle <ralf@linux-mips.org>, Kumba <kumba@gentoo.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080208190519.GA2188@networkno.de>
References: <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org> <20080206085610.GA20751@paradigm.rfc822.org> <20080206142217.GA7633@linux-mips.org> <20080208172316.GD25893@paradigm.rfc822.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080208172316.GD25893@paradigm.rfc822.org>
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18208
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips

Florian Lohoff wrote:
> On Wed, Feb 06, 2008 at 02:22:17PM +0000, Ralf Baechle wrote:
> > On Wed, Feb 06, 2008 at 09:56:10AM +0100, Florian Lohoff wrote:
> > 
> > > No - the very same GLIBC does not work on mips1 machines and vice versa.
> > > Might by okay for gentoo but debian needs a run everywhere glibc which
> > > means some ld.so tricks like with the libc6-i686 to load a different
> > > glibc from my understanding.
> > 
> > There is the long standing plan to generate a shared library on on the
> > fly during kernel initialization and move atomic operations and performance
> > relevant functions like memcpy to it.  Thiemo's latest work on tlbex.c
> > got us a tiny step closer to that.
> 
> You mean a single page in every processes address space or some
> /proc/sys/kernel/libatomic.so which would be a really cool hack?

We probably want to call it librandom-stuff.so. :-)


Thiemo

From ralf@linux-mips.org Fri Feb  8 19:29:59 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 08 Feb 2008 19:30:01 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:13038 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28576485AbYBHT37 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 8 Feb 2008 19:29:59 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m18JTw9Z023042;
	Fri, 8 Feb 2008 19:29:58 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m18JTvfx023041;
	Fri, 8 Feb 2008 19:29:57 GMT
Date:	Fri, 8 Feb 2008 19:29:57 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Florian Lohoff <flo@rfc822.org>
Cc:	Kumba <kumba@gentoo.org>, Thiemo Seufer <ths@networkno.de>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, debian-mips@lists.debian.org
Subject: Re: Tester with IP27/IP30 needed
Message-ID: <20080208192957.GA18947@linux-mips.org>
References: <20080126143949.GA6579@alpha.franken.de> <47A4E9DF.5070603@gentoo.org> <20080203021647.GA15910@linux-mips.org> <20080203062711.GA28394@paradigm.rfc822.org> <47A80C0A.4040106@gentoo.org> <20080205122211.GA24136@networkno.de> <47A928BF.5000302@gentoo.org> <20080206085610.GA20751@paradigm.rfc822.org> <20080206142217.GA7633@linux-mips.org> <20080208172316.GD25893@paradigm.rfc822.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080208172316.GD25893@paradigm.rfc822.org>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18209
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Fri, Feb 08, 2008 at 06:23:16PM +0100, Florian Lohoff wrote:

> You mean a single page in every processes address space or some
> /proc/sys/kernel/libatomic.so which would be a really cool hack?

The way it's being done on x86 doesn't work for MIPS unless we use
supervisor mode but supervisor mode is not implemented on all CPUs and
also of interest for virtualization.

  Ralf

From weo@reccoware.de Sun Feb 10 19:31:56 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 10 Feb 2008 19:32:04 +0000 (GMT)
Received: from bes.recconet.de ([212.227.59.164]:43923 "EHLO bes.recconet.de")
	by ftp.linux-mips.org with ESMTP id S20029073AbYBJTb4 (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 10 Feb 2008 19:31:56 +0000
Received: from trinity.recco.de (trinity.intern.recconet.de [192.168.11.241])
	by bes.recconet.de (8.13.1/8.13.1/Recconet-2005031001) with ESMTP id m1AJVbDQ007339;
	Sun, 10 Feb 2008 20:31:55 +0100
Received: from [172.16.135.104] (galileo.recco.de [172.16.135.104])
	(authenticated bits=0)
	by trinity.recco.de (8.13.1/8.13.1/Reccoware-2005061101) with ESMTP id m1AJVXEp032277;
	Sun, 10 Feb 2008 20:31:34 +0100
Subject: [PATCH] [MIPS] Fix ids in Alchemy db dma device table (Repost in
	hopefully correct format)
From:	Wolfgang Ocker <weo@reccoware.de>
To:	ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org
Content-Type: text/plain
Organization: Reccoware Systems
Date:	Sun, 10 Feb 2008 20:31:33 +0100
Message-Id: <1202671893.3384.20.camel@galileo.recco.de>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 (2.12.3-1.fc8) 
Content-Transfer-Encoding: 7bit
Return-Path: <weo@reccoware.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18210
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: weo@reccoware.de
Precedence: bulk
X-list: linux-mips

From: Wolfgang Ocker <weo@reccoware.de>

0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark
an empty entry in the device table. Use ~0 instead and search for id ~0
when looking for a free entry.

Signed-off-by: Wolfgang Ocker <weo@reccoware.de>
---

diff -up linux-2.6.24/arch/mips/au1000/common/dbdma.c.devtab_fix linux-2.6.24/arch/mips/au1000/common/dbdma.c
--- linux-2.6.24/arch/mips/au1000/common/dbdma.c.devtab_fix	2008-01-24 23:58:37.000000000 +0100
+++ linux-2.6.24/arch/mips/au1000/common/dbdma.c	2008-02-06 11:51:16.000000000 +0100
@@ -161,22 +161,22 @@ static dbdev_tab_t dbdev_tab[] = {
 	{ DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
 
 	/* Provide 16 user definable device types */
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
-	{ 0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
+	{ ~0, 0, 0, 0, 0, 0, 0 },
 };
 
 #define DBDEV_TAB_SIZE (sizeof(dbdev_tab) / sizeof(dbdev_tab_t))
@@ -209,7 +209,7 @@ au1xxx_ddma_add_device(dbdev_tab_t *dev)
 	dbdev_tab_t *p=NULL;
 	static u16 new_id=0x1000;
 
-	p = find_dbdev_id(0);
+	p = find_dbdev_id(~0);
 	if ( NULL != p )
 	{
 		memcpy(p, dev, sizeof(dbdev_tab_t));


From imp@bsdimp.com Sun Feb 10 22:47:21 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 10 Feb 2008 22:47:30 +0000 (GMT)
Received: from bsdimp.com ([199.45.160.85]:5338 "EHLO harmony.bsdimp.com")
	by ftp.linux-mips.org with ESMTP id S20029916AbYBJWrV (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 10 Feb 2008 22:47:21 +0000
Received: from localhost (localhost [127.0.0.1])
	by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m1AMeUSC053761;
	Sun, 10 Feb 2008 15:40:30 -0700 (MST)
	(envelope-from imp@bsdimp.com)
Date:	Sun, 10 Feb 2008 15:44:01 -0700 (MST)
Message-Id: <20080210.154401.1655407815.imp@bsdimp.com>
To:	macro@linux-mips.org
Cc:	florian.fainelli@telecomint.eu, linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
From:	"M. Warner Losh" <imp@bsdimp.com>
In-Reply-To: <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
References: <200802071932.23965.florian.fainelli@telecomint.eu>
	<Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Return-Path: <imp@bsdimp.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18211
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: imp@bsdimp.com
Precedence: bulk
X-list: linux-mips

In message: <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
            "Maciej W. Rozycki" <macro@linux-mips.org> writes:
: On Thu, 7 Feb 2008, Florian Fainelli wrote:
: 
: > Is there any need for early_ioremap on MIPS ? Seems like only x86_64 is 
: > implementing it for now.
: 
:  There is hardly any need as generally KSEG0/KSEG1 and XPHYS mappings 
: fulfil the need and are always available, even before paging has been 
: initialised.  Some 32-bit systems with devices outside low 512MB of 
: physical address space could potentially benefit though.  I recall some 
: Alchemy systems may fall into this category.

The Acer Pica machines, as well as the Deskstation Tynes, had devices
mapped outside of this range...  Of course Ralf will be able to say
more, if he chooses to jump into the way-back machine...

Warner

From macro@linux-mips.org Mon Feb 11 10:27:48 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 11 Feb 2008 10:27:56 +0000 (GMT)
Received: from cerber.ds.pg.gda.pl ([153.19.208.18]:7657 "EHLO
	cerber.ds.pg.gda.pl") by ftp.linux-mips.org with ESMTP
	id S20024449AbYBKK1s (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 11 Feb 2008 10:27:48 +0000
Received: from localhost (unknown [127.0.0.17])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 882E840091;
	Mon, 11 Feb 2008 11:27:47 +0100 (CET)
X-Virus-Scanned: amavisd-new at cerber.ds.pg.gda.pl
Received: from cerber.ds.pg.gda.pl ([153.19.208.18])
	by localhost (cerber.ds.pg.gda.pl [153.19.208.18]) (amavisd-new, port 10024)
	with ESMTP id qNkqO7aD5Si4; Mon, 11 Feb 2008 11:27:42 +0100 (CET)
Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 79D1F40082;
	Mon, 11 Feb 2008 11:27:42 +0100 (CET)
Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6])
	by piorun.ds.pg.gda.pl (8.13.8/8.13.8) with ESMTP id m1BARiV5027707;
	Mon, 11 Feb 2008 11:27:45 +0100
Date:	Mon, 11 Feb 2008 10:27:41 +0000 (GMT)
From:	"Maciej W. Rozycki" <macro@linux-mips.org>
To:	"M. Warner Losh" <imp@bsdimp.com>
cc:	florian.fainelli@telecomint.eu, linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
In-Reply-To: <20080210.154401.1655407815.imp@bsdimp.com>
Message-ID: <Pine.LNX.4.64N.0802111022550.13679@blysk.ds.pg.gda.pl>
References: <200802071932.23965.florian.fainelli@telecomint.eu>
 <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl>
 <20080210.154401.1655407815.imp@bsdimp.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: ClamAV 0.92/5768/Mon Feb 11 07:31:03 2008 on piorun.ds.pg.gda.pl
X-Virus-Status:	Clean
Return-Path: <macro@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18212
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sun, 10 Feb 2008, M. Warner Losh wrote:

> :  There is hardly any need as generally KSEG0/KSEG1 and XPHYS mappings 
> : fulfil the need and are always available, even before paging has been 
> : initialised.  Some 32-bit systems with devices outside low 512MB of 
> : physical address space could potentially benefit though.  I recall some 
> : Alchemy systems may fall into this category.
> 
> The Acer Pica machines, as well as the Deskstation Tynes, had devices
> mapped outside of this range...  Of course Ralf will be able to say
> more, if he chooses to jump into the way-back machine...

 Please note that it is not the sole existence of some hardware in the 
physical address range inaccessible through the mapped space that matters 
here.  It is the need to use such a piece of hardware before paging has 
been initialised that is of concern for early ioremap() and for most 
devices it means there is no issue.

  Maciej

From jon.dufresne@infinitevideocorporation.com Mon Feb 11 14:59:35 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 11 Feb 2008 14:59:43 +0000 (GMT)
Received: from host.infinivid.com ([64.119.179.76]:62656 "EHLO
	host.infinivid.com") by ftp.linux-mips.org with ESMTP
	id S20030130AbYBKO7f (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 11 Feb 2008 14:59:35 +0000
Received: (qmail 25886 invoked from network); 11 Feb 2008 14:59:32 -0000
Received: from unknown (HELO ?10.41.13.129?) (38.101.235.133)
  by host.infinivid.com with (RC4-MD5 encrypted) SMTP; 11 Feb 2008 07:59:31 -0700
Subject: cache line size for a PCI device
From:	Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
To:	linux-mips@linux-mips.org
Content-Type: text/plain
Date:	Mon, 11 Feb 2008 09:59:00 -0500
Message-Id: <1202741940.3298.80.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) 
Content-Transfer-Encoding: 7bit
Return-Path: <jon.dufresne@infinitevideocorporation.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18213
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jon.dufresne@infinitevideocorporation.com
Precedence: bulk
X-list: linux-mips

Should the cache line size of a PCI device be set by the system BIOS,
the linux kernel, or by the device driver? My device currently has the
cache line size set to 0 on my mips box. Is this a bug with the BIOS or
should I be setting this myself. If I should be setting this myself,
what is the best strategy to determine what the cache line size should
be? Right now the best I can do is mimic the PCI configuration space of
my x86 box, but I'm not sure if this is the best way to go or not.

The same thing goes for latency timer.

Thanks for any help,
Jon


From thomas.koeller@baslerweb.com Mon Feb 11 22:40:48 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 11 Feb 2008 22:40:58 +0000 (GMT)
Received: from mx02.hansenet.de ([213.191.73.26]:46007 "EHLO
	webmail.hansenet.de") by ftp.linux-mips.org with ESMTP
	id S20030784AbYBKWks (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 11 Feb 2008 22:40:48 +0000
Received: from [80.171.60.123] (80.171.60.123) by webmail.hansenet.de (7.3.118.12) (authenticated as mbx20228207@koeller-hh.org)
        id 47AC550E00878C83; Mon, 11 Feb 2008 23:40:42 +0100
Received: from localhost.koeller.dyndns.org (localhost.koeller.dyndns.org [127.0.0.1])
	by mail.koeller.dyndns.org (Postfix) with ESMTP id 000AF47C14;
	Mon, 11 Feb 2008 23:42:13 +0100 (CET)
From:	Thomas Koeller <thomas.koeller@baslerweb.com>
Date:	Mon, 11 Feb 2008 23:42:12 +0100
Subject: [PATCH] [MIPS] Fix broken rm7000/rm9000 interrupt handling
X-Length: 1223
X-UID:	22
To:	linux-mips@linux-mips.org
Cc:	ralf@linux-mips.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802112342.13435.thomas.koeller@baslerweb.com>
Return-Path: <thomas.koeller@baslerweb.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18214
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: thomas.koeller@baslerweb.com
Precedence: bulk
X-list: linux-mips

Properly acknowledge RM7K and RM9K interrupts. Before this,
interrupts were permanently masked after their first occurrence,
making them non-functional.

Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>

diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c
index 971adf6..fb50cc7 100644
--- a/arch/mips/kernel/irq-rm7000.c
+++ b/arch/mips/kernel/irq-rm7000.c
@@ -33,6 +33,7 @@ static struct irq_chip rm7k_irq_controller = {
 	.mask = mask_rm7k_irq,
 	.mask_ack = mask_rm7k_irq,
 	.unmask = unmask_rm7k_irq,
+	.eoi	= unmask_rm7k_irq
 };
 
 void __init rm7k_cpu_irq_init(void)
diff --git a/arch/mips/kernel/irq-rm9000.c b/arch/mips/kernel/irq-rm9000.c
index 7b04583..ed9febe 100644
--- a/arch/mips/kernel/irq-rm9000.c
+++ b/arch/mips/kernel/irq-rm9000.c
@@ -75,6 +75,7 @@ static struct irq_chip rm9k_irq_controller = {
 	.mask = mask_rm9k_irq,
 	.mask_ack = mask_rm9k_irq,
 	.unmask = unmask_rm9k_irq,
+	.eoi	= unmask_rm9k_irq
 };
 
 static struct irq_chip rm9k_perfcounter_irq = {
-- 
1.5.3.6


From ben@hodgens.net Tue Feb 12 01:09:49 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 01:09:58 +0000 (GMT)
Received: from smtpauth13.prod.mesa1.secureserver.net ([64.202.165.37]:12480
	"HELO smtpauth13.prod.mesa1.secureserver.net") by ftp.linux-mips.org
	with SMTP id S28577837AbYBLBJs (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Tue, 12 Feb 2008 01:09:48 +0000
Received: (qmail 17198 invoked from network); 12 Feb 2008 01:09:38 -0000
Received: from unknown (66.51.229.131)
  by smtpauth13.prod.mesa1.secureserver.net (64.202.165.37) with ESMTP; 12 Feb 2008 01:09:37 -0000
Message-ID: <47B0F164.8080401@hodgens.net>
Date:	Mon, 11 Feb 2008 18:07:48 -0700
From:	Ben Hodgens <ben@hodgens.net>
Reply-To:  ben@hodgens.net
User-Agent: Icedove 1.5.0.14pre (X11/20071018)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: General info on kernel status for vr4121/MobilePro 780
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <ben@hodgens.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18215
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ben@hodgens.net
Precedence: bulk
X-list: linux-mips

I'm attempting build a system around an NEC MobilePro 780, and as there does not 
appear to be full support (ie, can't seem to get a kernel to boot) in either the 
current 2.4 or 2.6 kernel trees.

Here's what I've found and tried so far:

* The Linux VR project's "latest" kernel, circa 2001 or something like that - 
linux-vr-0.1.1.tar.bz2. This does not actually have an option for the MobilePro 
780 in the kernel config, though there is the 770.
* The kernel on http://www.handhelds.org/moin/moin.cgi/NecMobilePro780. This one 
-appears- to be the most complete I've found with regard to the 780; however, 
the tree is a 2.3 base (2.3.99 or something like that, I think), and not only 
pretty damn old, but I'm having a difficult time building it with the MIPS 
Technologies toolchain as a result. (Nothing I think I won't be able to figure 
out eventually - just makefile issues - but I don't want to persue it too much 
if there's a better alternative to start with). Additionally, this page has a 
binary kernel (and rootfs) which boots, but it doesn't boot with either a Debian 
sarge or etch bootstrap-installed rootfs (this is probably related to devfs, 
Ithink).
* Both the latest 2.4 and 2.6 kernels don't have explicit support for the MP. I 
don't know where to go from here to where I want to go, though if there's 
nothing current in the current trees, I figure I'll learn to port drivers 
(provided I can figure which is the current latest support for the MP).

So I'm asking: does anyone know where else I might look? If there is no current 
kernel tree which builds, does anyone know where the current/most up-to-date 
device support for the MobilePro is kept, or in which kernel it's in?

Any/all help would be appreciated. Thanks!

Ben Hodgens
ben@hodgens.net

From ricmm@cantv.net Tue Feb 12 04:24:58 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 04:25:07 +0000 (GMT)
Received: from rs25s3.datacenter.cha.cantv.net ([200.44.33.18]:65413 "EHLO
	rs25s3.datacenter.cha.cantv.net") by ftp.linux-mips.org with ESMTP
	id S20021794AbYBLEY6 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 04:24:58 +0000
Received: from [192.168.0.2] (dC9D08FD6.dslam-04-10-6-02-1-01.apr.dsl.cantv.net [201.208.143.214])
	by rs25s3.datacenter.cha.cantv.net (8.13.8/8.13.0/3.0) with ESMTP id m1C4OnCb028417;
	Mon, 11 Feb 2008 23:54:50 -0430
X-Matched-Lists: []
Message-ID: <47B0EA85.4080707@cantv.net>
Date:	Mon, 11 Feb 2008 20:38:29 -0400
From:	Ricardo Mendoza <ricmm@cantv.net>
User-Agent: Thunderbird 2.0.0.0 (X11/20070601)
MIME-Version: 1.0
To:	ben@hodgens.net
CC:	linux-mips@linux-mips.org
Subject: Re: General info on kernel status for vr4121/MobilePro 780
References: <47B0F164.8080401@hodgens.net>
In-Reply-To: <47B0F164.8080401@hodgens.net>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Return-Path: <ricmm@cantv.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18216
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ricmm@cantv.net
Precedence: bulk
X-list: linux-mips

Ben Hodgens wrote:
> I'm attempting build a system around an NEC MobilePro 780, and as there
> does not appear to be full support (ie, can't seem to get a kernel to
> boot) in either the current 2.4 or 2.6 kernel trees.
> 
> Here's what I've found and tried so far:
> 
> * The Linux VR project's "latest" kernel, circa 2001 or something like
> that - linux-vr-0.1.1.tar.bz2. This does not actually have an option for
> the MobilePro 780 in the kernel config, though there is the 770.
> * The kernel on http://www.handhelds.org/moin/moin.cgi/NecMobilePro780.
> This one -appears- to be the most complete I've found with regard to the
> 780; however, the tree is a 2.3 base (2.3.99 or something like that, I
> think), and not only pretty damn old, but I'm having a difficult time
> building it with the MIPS Technologies toolchain as a result. (Nothing I
> think I won't be able to figure out eventually - just makefile issues -
> but I don't want to persue it too much if there's a better alternative
> to start with). Additionally, this page has a binary kernel (and rootfs)
> which boots, but it doesn't boot with either a Debian sarge or etch
> bootstrap-installed rootfs (this is probably related to devfs, Ithink).
> * Both the latest 2.4 and 2.6 kernels don't have explicit support for
> the MP. I don't know where to go from here to where I want to go, though
> if there's nothing current in the current trees, I figure I'll learn to
> port drivers (provided I can figure which is the current latest support
> for the MP).
> 
> So I'm asking: does anyone know where else I might look? If there is no
> current kernel tree which builds, does anyone know where the
> current/most up-to-date device support for the MobilePro is kept, or in
> which kernel it's in?

Current l-m.o tree has vr41xx support thanks to Yoichi, that's the best
starting point. But as you said, support for the board itself is not
there as a whole, there were some drivers for kbd/tpanel/fb around from
an old project (not linux-vr), just gotta look for them.

Afterwards, just mix the ingredients and bake the pie.


     Ricardo

From ralf@linux-mips.org Tue Feb 12 12:11:37 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 12:11:39 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:26796 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20030977AbYBLMLh (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 12:11:37 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1CCBZXi030730;
	Tue, 12 Feb 2008 12:11:35 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1CCBZ5j030729;
	Tue, 12 Feb 2008 12:11:35 GMT
Date:	Tue, 12 Feb 2008 12:11:35 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thomas Koeller <thomas.koeller@baslerweb.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] [MIPS] Fix broken rm7000/rm9000 interrupt handling
Message-ID: <20080212121135.GA30703@linux-mips.org>
References: <200802112342.13435.thomas.koeller@baslerweb.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200802112342.13435.thomas.koeller@baslerweb.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18217
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Mon, Feb 11, 2008 at 11:42:12PM +0100, Thomas Koeller wrote:

> Properly acknowledge RM7K and RM9K interrupts. Before this,
> interrupts were permanently masked after their first occurrence,
> making them non-functional.

Applied to 2.6.20 and up.  Thanks,

  Ralf

From ralf@linux-mips.org Tue Feb 12 14:32:49 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 14:32:51 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:26760 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20031162AbYBLOct (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 14:32:49 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1CEWkbL001058;
	Tue, 12 Feb 2008 14:32:46 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1CEWkjO001057;
	Tue, 12 Feb 2008 14:32:46 GMT
Date:	Tue, 12 Feb 2008 14:32:46 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Ben Hodgens <ben@hodgens.net>
Cc:	linux-mips@linux-mips.org
Subject: Re: General info on kernel status for vr4121/MobilePro 780
Message-ID: <20080212143246.GA499@linux-mips.org>
References: <47B0F164.8080401@hodgens.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47B0F164.8080401@hodgens.net>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18218
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Mon, Feb 11, 2008 at 06:07:48PM -0700, Ben Hodgens wrote:

> * The Linux VR project's "latest" kernel, circa 2001 or something like that 
> - linux-vr-0.1.1.tar.bz2. This does not actually have an option for the 
> MobilePro 780 in the kernel config, though there is the 770.

LinuxVR is a defunct project which is archived on linux-mips.org to avoid
losing the project's history and also in case anything hasn't merged into
Linux/MIPS or the other projects LinuxVR is based on.

  Ralf

From ralf@linux-mips.org Tue Feb 12 14:48:18 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 14:48:20 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:8613 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20031202AbYBLOsS (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 14:48:18 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1CEmFXd001432;
	Tue, 12 Feb 2008 14:48:15 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1CEmERv001431;
	Tue, 12 Feb 2008 14:48:14 GMT
Date:	Tue, 12 Feb 2008 14:48:14 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	"M. Warner Losh" <imp@bsdimp.com>
Cc:	macro@linux-mips.org, florian.fainelli@telecomint.eu,
	linux-mips@linux-mips.org
Subject: Re: early_ioremap for MIPS
Message-ID: <20080212144814.GB499@linux-mips.org>
References: <200802071932.23965.florian.fainelli@telecomint.eu> <Pine.LNX.4.64N.0802081058350.7017@blysk.ds.pg.gda.pl> <20080210.154401.1655407815.imp@bsdimp.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080210.154401.1655407815.imp@bsdimp.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18219
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips

On Sun, Feb 10, 2008 at 03:44:01PM -0700, M. Warner Losh wrote:

> The Acer Pica machines, as well as the Deskstation Tynes, had devices
> mapped outside of this range...  Of course Ralf will be able to say
> more, if he chooses to jump into the way-back machine...

Yes, I recall.  Unfortunately I don't have my PICA anymore; it's been a
hell of a machine by the standards of its days.  Anyway, designs which
just like the PICA need some ioremap - and preferably available early
during bootup - have been developed after the PICA and are still being
developped.

  Ralf

From antipov@ru.mvista.com Tue Feb 12 16:23:25 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 16:23:34 +0000 (GMT)
Received: from rtsoft3.corbina.net ([85.21.88.6]:30752 "EHLO
	buildserver.ru.mvista.com") by ftp.linux-mips.org with ESMTP
	id S20031258AbYBLQXZ (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 16:23:25 +0000
Received: from localhost.localdomain (unknown [10.150.0.9])
	by buildserver.ru.mvista.com (Postfix) with ESMTP id D999D8818
	for <linux-mips@linux-mips.org>; Tue, 12 Feb 2008 21:23:33 +0400 (SAMT)
Message-ID: <47B1C739.1080509@ru.mvista.com>
Date:	Tue, 12 Feb 2008 19:20:09 +0300
From:	Dmitry Antipov <antipov@ru.mvista.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20071115)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: Export exception cause register to userspace ?
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <antipov@ru.mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18220
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: antipov@ru.mvista.com
Precedence: bulk
X-list: linux-mips

Hello,

I'm working on a debugging software which should be able to determine an
exact reason of exception which may (and should) be processed within user
space - SIGTRAP, for example. This information should be extracted from
cause register (CP0 register 13, select 0), which is cp0_cause of pt_regs.
But this register is not stored within sigcontext of signal frame, so
it's value is not available from signal handler. Is it a good idea to add a
dedicated sigcontext field to store cause register ?

Dmitry

From rootkit85@yahoo.it Tue Feb 12 23:34:30 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 23:34:38 +0000 (GMT)
Received: from smtp-OUT05A.alice.it ([85.33.3.5]:28677 "EHLO
	smtp-OUT05A.alice.it") by ftp.linux-mips.org with ESMTP
	id S20031910AbYBLXea (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 23:34:30 +0000
Received: from FBCMMO01.fbc.local ([192.168.68.195]) by smtp-OUT05A.alice.it with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:34:21 +0100
Received: from FBCMCL01B06.fbc.local ([192.168.69.87]) by FBCMMO01.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:34:24 +0100
Received: from [192.168.0.3] ([79.19.188.10]) by FBCMCL01B06.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:34:21 +0100
From:	Matteo Croce <rootkit85@yahoo.it>
To:	linux-mips@linux-mips.org
Subject: Can't execute any MIPS  binary
Date:	Wed, 13 Feb 2008 00:34:24 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20080118.763038)
X-Face:	"(Z-sNp?}dL;GW1HP?5[[fZUP?g3$O&zLD:A-aRnqZ`<=?utf-8?q?54v=24w/ieZ+MrAPeae*a9=238uAUG=0A=09=25Bywb=5FV=5Dtn?=)]@R'L*vMngY"aGt~ZH-#5RV}4ZJ.*7c3`/*{?G_6ng]t8p;+TdB^vv:5?B<=?utf-8?q?=0A=09z=5FA?=)iR0_B5kp
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802130034.25052.rootkit85@yahoo.it>
X-OriginalArrivalTime: 12 Feb 2008 23:34:23.0861 (UTC) FILETIME=[CC9DCA50:01C86DCF]
Return-Path: <rootkit85@yahoo.it>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18221
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: rootkit85@yahoo.it
Precedence: bulk
X-list: linux-mips

Hi,
I have a machine, an AR7 MIPS router I want to hack, but I'm unable
to run _any_ executable on that machine outside the ones in the firmware.
I tried building a static mips1 binary, but it fails so:

# /var/test.bin
/var/test.bin: 1: Syntax error: "(" unexpected

so I downloaded a binary builtin in the firmware and I compared it to my own:

$ file busybox.bin test.bin
busybox.bin: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped
test.bin:    ELF 32-bit LSB executable, MIPS, version 1 (SYSV), statically linked, stripped

busybox.bin is the builtin busybox while test.bin is a static HelloWorld

I ran readelf on it:

$ readelf -h busybox.bin
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           MIPS R3000
  Version:                           0x1
  Entry point address:               0x4037e0
  Start of program headers:          52 (bytes into file)
  Start of section headers:          337304 (bytes into file)
  Flags:                             0x5, noreorder, cpic, mips1
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         6
  Size of section headers:           40 (bytes)
  Number of section headers:         21
  Section header string table index: 20
$ readelf -h test.bin
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           MIPS R3000
  Version:                           0x1
  Entry point address:               0x400140
  Start of program headers:          52 (bytes into file)
  Start of section headers:          11780 (bytes into file)
  Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         3
  Size of section headers:           40 (bytes)
  Number of section headers:         17
  Section header string table index: 16
$ diff -u <(readelf -h busybox.bin) <(readelf -h test.bin)
--- /dev/fd/63  2008-02-13 00:26:48.880261477 +0100
+++ /dev/fd/62  2008-02-13 00:26:48.880261477 +0100
@@ -8,13 +8,13 @@
   Type:                              EXEC (Executable file)
   Machine:                           MIPS R3000
   Version:                           0x1
-  Entry point address:               0x4037e0
+  Entry point address:               0x400140
   Start of program headers:          52 (bytes into file)
-  Start of section headers:          337304 (bytes into file)
-  Flags:                             0x5, noreorder, cpic, mips1
+  Start of section headers:          11780 (bytes into file)
+  Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
   Size of this header:               52 (bytes)
   Size of program headers:           32 (bytes)
-  Number of program headers:         6
+  Number of program headers:         3
   Size of section headers:           40 (bytes)
-  Number of section headers:         21
-  Section header string table index: 20
+  Number of section headers:         17
+  Section header string table index: 16

The router firmware uses:
# cat /proc/version
Linux version 2.4.17_mvl21-malta-mips_fp_le (root@localhost.localdomain) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Fri Mar 18 11:00:12 EST 2005

While I have a gcc-4.2.3 toolchain with 2.6.24 headers.


How can I build a mips1 binary instead of the mips32 I make? Can I disable o32?

Best Regards,
Matteo Croce

From rootkit85@yahoo.it Tue Feb 12 23:49:31 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 23:49:39 +0000 (GMT)
Received: from smtp-out113.alice.it ([85.37.17.113]:45319 "EHLO
	smtp-out113.alice.it") by ftp.linux-mips.org with ESMTP
	id S20031940AbYBLXtb (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 23:49:31 +0000
Received: from FBCMMO01.fbc.local ([192.168.68.195]) by smtp-out113.alice.it with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:49:21 +0100
Received: from FBCMCL01B07.fbc.local ([192.168.171.45]) by FBCMMO01.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:49:21 +0100
Received: from [192.168.0.3] ([79.19.188.10]) by FBCMCL01B07.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 00:48:07 +0100
From:	Matteo Croce <rootkit85@yahoo.it>
To:	Edin Hodzic <dino.hodzic@vudu.com>
Subject: Re: Can't execute any MIPS  binary
Date:	Wed, 13 Feb 2008 00:49:07 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20080118.763038)
Cc:	linux-mips@linux-mips.org
References: <200802130034.25052.rootkit85@yahoo.it> <47B22E4F.4070308@vudu.com>
In-Reply-To: <47B22E4F.4070308@vudu.com>
X-Face:	"(Z-sNp?}dL;GW1HP?5[[fZUP?g3$O&zLD:A-aRnqZ`<=?utf-8?q?54v=24w/ieZ+MrAPeae*a9=238uAUG=0A=09=25Bywb=5FV=5Dtn?=)]@R'L*vMngY"aGt~ZH-#5RV}4ZJ.*7c3`/*{?G_6ng]t8p;+TdB^vv:5?B<=?utf-8?q?=0A=09z=5FA?=)iR0_B5kp
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_zBjsHXpengDaTjx"
Message-Id: <200802130049.07316.rootkit85@yahoo.it>
X-OriginalArrivalTime: 12 Feb 2008 23:48:07.0953 (UTC) FILETIME=[B7D04010:01C86DD1]
Return-Path: <rootkit85@yahoo.it>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18222
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: rootkit85@yahoo.it
Precedence: bulk
X-list: linux-mips

--Boundary-00=_zBjsHXpengDaTjx
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Il Wednesday 13 February 2008 00:39:59 Edin Hodzic ha scritto:
> -march=mips1 or -mips1 should do the trick, no?
> 
> Dino
> 
> On 02/12/2008 03:34 PM, Matteo Croce said:
> > Hi,
> > I have a machine, an AR7 MIPS router I want to hack, but I'm unable
> > to run _any_ executable on that machine outside the ones in the firmware.
> > I tried building a static mips1 binary, but it fails so:
> >
> > # /var/test.bin
> > /var/test.bin: 1: Syntax error: "(" unexpected
> >
> > so I downloaded a binary builtin in the firmware and I compared it to my own:
> >
> > $ file busybox.bin test.bin
> > busybox.bin: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped
> > test.bin:    ELF 32-bit LSB executable, MIPS, version 1 (SYSV), statically linked, stripped
> >
> > busybox.bin is the builtin busybox while test.bin is a static HelloWorld
> >
> > I ran readelf on it:
> >
> > $ readelf -h busybox.bin
> > ELF Header:
> >   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
> >   Class:                             ELF32
> >   Data:                              2's complement, little endian
> >   Version:                           1 (current)
> >   OS/ABI:                            UNIX - System V
> >   ABI Version:                       0
> >   Type:                              EXEC (Executable file)
> >   Machine:                           MIPS R3000
> >   Version:                           0x1
> >   Entry point address:               0x4037e0
> >   Start of program headers:          52 (bytes into file)
> >   Start of section headers:          337304 (bytes into file)
> >   Flags:                             0x5, noreorder, cpic, mips1
> >   Size of this header:               52 (bytes)
> >   Size of program headers:           32 (bytes)
> >   Number of program headers:         6
> >   Size of section headers:           40 (bytes)
> >   Number of section headers:         21
> >   Section header string table index: 20
> > $ readelf -h test.bin
> > ELF Header:
> >   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
> >   Class:                             ELF32
> >   Data:                              2's complement, little endian
> >   Version:                           1 (current)
> >   OS/ABI:                            UNIX - System V
> >   ABI Version:                       0
> >   Type:                              EXEC (Executable file)
> >   Machine:                           MIPS R3000
> >   Version:                           0x1
> >   Entry point address:               0x400140
> >   Start of program headers:          52 (bytes into file)
> >   Start of section headers:          11780 (bytes into file)
> >   Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
> >   Size of this header:               52 (bytes)
> >   Size of program headers:           32 (bytes)
> >   Number of program headers:         3
> >   Size of section headers:           40 (bytes)
> >   Number of section headers:         17
> >   Section header string table index: 16
> > $ diff -u <(readelf -h busybox.bin) <(readelf -h test.bin)
> > --- /dev/fd/63  2008-02-13 00:26:48.880261477 +0100
> > +++ /dev/fd/62  2008-02-13 00:26:48.880261477 +0100
> > @@ -8,13 +8,13 @@
> >    Type:                              EXEC (Executable file)
> >    Machine:                           MIPS R3000
> >    Version:                           0x1
> > -  Entry point address:               0x4037e0
> > +  Entry point address:               0x400140
> >    Start of program headers:          52 (bytes into file)
> > -  Start of section headers:          337304 (bytes into file)
> > -  Flags:                             0x5, noreorder, cpic, mips1
> > +  Start of section headers:          11780 (bytes into file)
> > +  Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
> >    Size of this header:               52 (bytes)
> >    Size of program headers:           32 (bytes)
> > -  Number of program headers:         6
> > +  Number of program headers:         3
> >    Size of section headers:           40 (bytes)
> > -  Number of section headers:         21
> > -  Section header string table index: 20
> > +  Number of section headers:         17
> > +  Section header string table index: 16
> >
> > The router firmware uses:
> > # cat /proc/version
> > Linux version 2.4.17_mvl21-malta-mips_fp_le (root@localhost.localdomain) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Fri Mar 18 11:00:12 EST 2005
> >
> > While I have a gcc-4.2.3 toolchain with 2.6.24 headers.
> >
> >
> > How can I build a mips1 binary instead of the mips32 I make? Can I disable o32?
> >
> > Best Regards,
> > Matteo Croce
> >
> >   
> 

Already tried, won't work.
I attach the binaries

--Boundary-00=_zBjsHXpengDaTjx
Content-Type: application/x-executable;
  name="test.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="test.bin"

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
EAkAAJATQABkAAAAEgADAB8JAAAoHEAACAAAACIAAwAsCQAAKBxAAAgAAAAiAAMAQgkAADADQAAg
AAAAEgADAFAJAABACkAAXAAAABIAAwBgCQAAMA1AAPgAAAAiAAMAcAkAAGQtRAAEAAAAEQAOAHsJ
AAAAKkQAGAAAABEACgCUCQAAOC1EAAAAAAAQAPH/mwkAAFAqRAAEAAAAEQAKAKQJAADQK0QAAAAA
ABEACwC6CQAAwE1EAAAAAAAQAPH/vwkAACgcQAAIAAAAIgADANUJAAAoC0AAGAAAABIAAwDfCQAA
KBxAAAgAAAAiAAMA8gkAACgcQAAIAAAAIgADAAQKAAAAHEAAFAAAACIAAwAVCgAAMA5AAOAAAAAS
AAMAGgoAADAeQAD8AAAAEgADACgKAAAgCEAAuAAAABIAAwA0CgAAsE1EAAQAAAARAA4AOwoAABgq
RAAYAAAAEQAKAFQKAAAoHEAACAAAACIAAwBpCgAAKBxAAAgAAAAiAAMAhQoAAAAUQABQAAAAEgAD
AIsKAAAoHEAACAAAACIAAwCeCgAAYBJAAKAAAAASAAMApQoAAMAWQACUAAAAIgADAK0KAADoBkAA
QAAAABIAAwDBCgAAYBdAAGwAAAAiAAMAxgoAAFAYQABUAAAAEgADANcKAAAQGUAAVAAAABIAAwDk
CgAA4CBAACABAAASAAMA9goAACgcQAAIAAAAIgADABELAADgKUQAAAAAABEACgAeCwAAAAAAAAAA
AAAgAAAAMgsAADANQAD4AAAAEgADAEQLAAAoHEAACAAAACIAAwBgCwAAYAtAAEQBAAAiAAMAbwsA
AAATQACEAAAAIgADAHULAAA4LUQAAAAAABAA8f97CwAAMCZAAGQBAAAiAAMAhAsAACgcQAAIAAAA
IgADAJsLAAAAAAAAAAAAACIAAACxCwAAUBRAAFQAAAAiAAMAtwsAACgcQAAIAAAAIgADANILAABg
HEAASAAAABIAAwDYCwAApBhAAGQAAAASAAMA5AsAAGALQABEAQAAEgADAABpbml0ZmluaS5jAGNy
dGkuUwBjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1RfXwBfX0VIX0ZSQU1FX0JF
R0lOX18AX19KQ1JfTElTVF9fAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABjb21wbGV0ZWQuMjY2MABw
LjI2NTgAZnJhbWVfZHVtbXkAb2JqZWN0LjI2NzIAX19DVE9SX0VORF9fAF9fRFRPUl9FTkRfXwBf
X0ZSQU1FX0VORF9fAF9fSkNSX0VORF9fAF9fZG9fZ2xvYmFsX2N0b3JzX2F1eABjcnRuLlMAY3J0
MS5TAHRlc3QuYwBfX3VDbGliY19tYWluLmMAcHV0cy5jAF9zdGRpby5jAF93Y29tbWl0LmMAX2Nz
X2Z1bmNzLmMAZnB1dGMuYwBmcHV0cy5jAGZ3cml0ZS5jAGF0ZXhpdC5jAGFib3J0LmMAbWVtY3B5
LlMAbWVtc2V0LlMAc3RybGVuLmMAX19zeXNjYWxsX2ZjbnRsLmMAX19zeXNjYWxsX2ZjbnRsNjQu
YwBfZXhpdC5jAGNsb3NlLmMAZnN0YXQuYwBnZXRlZ2lkLmMAZ2V0ZXVpZC5jAGdldGdpZC5jAGdl
dHVpZC5jAGxsc2Vlay5jAG9wZW4uYwByZWFkLmMAc2lncHJvY21hc2suYwB3cml0ZS5jAHhzdGF0
Y29udi5jAHRlcm1pb3MuYwB0Y2dldGF0dHIuYwBfX2Vycm5vX2xvY2F0aW9uLmMAd2Vha3MuYwBy
YWlzZS5jAHNpZ2FjdGlvbi5jAHNpZ3NldG9wcy5jAF9XUklURS5jAF9md3JpdGUuYwBfdHJhbnMy
dy5jAG1lbWNoci5jAG1lbXBjcHkuYwBtZW1yY2hyLmMAX19zeXNjYWxsX3J0X3NpZ2FjdGlvbi5j
AGdldHBpZC5jAGlvY3RsLmMAa2lsbC5jAGVycm5vLmMAZnNlZWtvLmMAX2FkanVzdF9wb3MuYwBf
X2FwcF9maW5pAF9fZGxfZmluaQBfX3J0bGRfZmluaQBfX2xpYmNfc2lnYWN0aW9uAGlvY3RsAHB0
aHJlYWRfY29uZF9zaWduYWwAX3N0ZGlvX29wZW5saXN0X3VzZV9jb3VudABnZXRnaWQAX19nZXRw
aWQAc3Rkb3V0AF9mZGF0YQBfZ3BfZGlzcABwdXRjX3VubG9ja2VkAHB0aHJlYWRfYXR0cl9kZXN0
cm95AF9fcHRocmVhZF9tdXRleF9sb2NrAF9fc2lnZGVsc2V0AG1lbXJjaHIAZ2V0ZXVpZABwdGhy
ZWFkX2F0dHJfaW5pdABwdGhyZWFkX2V4aXQAX19saWJjX3N0YWNrX2VuZABfX2xpYmNfZmNudGwA
X2hfZXJybm8AX193cml0ZQBlcnJubwBnZXRlZ2lkAF9fZnNlZWtvNjQAX2dwAHB0aHJlYWRfY29u
ZGF0dHJfaW5pdABnZXRwaWQAX19saWJjX2dldHBpZABmY250bDY0AG1lbWNweQBjcmVhdABwdGhy
ZWFkX2VxdWFsAHB1dHMAX19wdGhyZWFkX211dGV4X2luaXQAZ2V0dWlkAGlzYXR0eQBwdGhyZWFk
X2F0dHJfZ2V0c2NvcGUAX19kc29faGFuZGxlAF9jc19jbG9zZQBfcHRocmVhZF9jbGVhbnVwX3Bv
cF9yZXN0b3JlAHB0aHJlYWRfYXR0cl9nZXRpbmhlcml0c2NoZWQAbWVtcGNweQBfX2xpYmNfcmVh
ZABfX2Vudmlyb24AYWJvcnQAcHRocmVhZF9hdHRyX2dldHNjaGVkcG9saWN5AF9pbml0AF9fbGli
Y19sc2VlazY0AHB0aHJlYWRfZ2V0c2NoZWRwYXJhbQBfX3NpZ2FkZHNldABfX3N5c2NhbGxfaW9j
dGwAcHRocmVhZF9zZXRjYW5jZWxzdGF0ZQBoX2Vycm5vAF9fcHRocmVhZF9tdXRleF91bmxvY2sA
X19leGl0X2NsZWFudXAAcHRocmVhZF9jb25kYXR0cl9kZXN0cm95AHB0aHJlYWRfYXR0cl9zZXRz
Y29wZQB3cml0ZQBlbnZpcm9uAGZzdGF0AGtpbGwAZnB1dHNfdW5sb2NrZWQAX19wdGhyZWFkX211
dGV4X3RyeWxvY2sAX3N0ZGlvX29wZW5saXN0AHB0aHJlYWRfY29uZF9icm9hZGNhc3QAX19kZXJl
Z2lzdGVyX2ZyYW1lX2luZm8AcHRocmVhZF9hdHRyX3NldGluaGVyaXRzY2hlZABfX3N0YXJ0AGZz
ZWVrbwBfc3RkaW9fb3Blbmxpc3RfZGVsX2NvdW50AF9sbHNlZWsAZnNlZWsAcHRocmVhZF9zZXRz
Y2hlZHBhcmFtAG1lbWNocgBfX3B0aHJlYWRfaW5pdGlhbGl6ZV9taW5pbWFsAF9fc3RkaW4Ac3Rk
aW4AX2Z0ZXh0AF9fcHJvZ25hbWUAcmVhZABfX3hzdGF0NjRfY29udgBfc3RkaW9fdXNlcl9sb2Nr
aW5nAHB0aHJlYWRfY29uZF9pbml0AF9fc3RkaW9fYWRqdXN0X3Bvc2l0aW9uAHNpZ2FjdGlvbgBf
X3VDbGliY19pbml0AF9fdUNsaWJjX21haW4AX19saWJjX2Nsb3NlAF9wdGhyZWFkX2NsZWFudXBf
cHVzaF9kZWZlcgBfX3NpZ2lzbWVtYmVyAF9fYnNzX3N0YXJ0AF9fbGliY19vcGVuAG1lbXNldABt
YWluAF9fc3RkaW9fZndyaXRlAF9fZnB1dHNfdW5sb2NrZWQAX19zeXNjYWxsX3J0X3NpZ2FjdGlv
bgBfX3hzdGF0X2NvbnYAdGNnZXRhdHRyAHB0aHJlYWRfYXR0cl9nZXRkZXRhY2hzdGF0ZQBsbHNl
ZWsAX2NzX3NlZWsAX19zdGRpb19pbml0X211dGV4AHB0aHJlYWRfbXV0ZXhfdW5sb2NrAGRhdGFf
c3RhcnQAX19oX2Vycm5vX2xvY2F0aW9uAF9maW5pAF9fbWVtcGNweQBfc3RkaW9fdGVybQBzdGRl
cnIAX2NzX3JlYWQAX19hdGV4aXRfbG9jawBfX2xpYmNfZmNudGw2NABwdGhyZWFkX3NlbGYAcHRo
cmVhZF9zZXRjYW5jZWx0eXBlAF9zZXRfX2RsX2ZpbmkAX19zdGRpb193Y29tbWl0AGZ3cml0ZV91
bmxvY2tlZABfX3BhZ2VzaXplAF9zdGRpb19vcGVubGlzdF9hZGRfbG9jawBfZWRhdGEAX19zdGRv
dXQAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAcHRocmVhZF9tdXRleF9kZXN0cm95AF9jc193
cml0ZQBwdGhyZWFkX211dGV4X2xvY2sAcHRocmVhZF9jb25kX3dhaXQAX19lcnJub19sb2NhdGlv
bgBleGl0AF9fc3RkaW9fV1JJVEUAX3N0ZGlvX2luaXQAX2Vycm5vAF9zdGRpb19vcGVubGlzdF9k
ZWxfbG9jawBwdGhyZWFkX2NvbmRfZGVzdHJveQBwdGhyZWFkX2F0dHJfc2V0c2NoZWRwb2xpY3kA
X2V4aXQAcHRocmVhZF9tdXRleF9pbml0AHN0cmxlbgBsc2VlazY0AF9fdUNsaWJjX3N0YXJ0X21h
aW4Ab3BlbgBfX3J0X3NpZ3Byb2NtYXNrAF9fbGliY193cml0ZQBfX3N0ZGlvX3RyYW5zMndfbwBw
dGhyZWFkX2F0dHJfc2V0c2NoZWRwYXJhbQBfX2RhdGFfc3RhcnQAX0p2X1JlZ2lzdGVyQ2xhc3Nl
cwBfX2Z3cml0ZV91bmxvY2tlZABwdGhyZWFkX2F0dHJfc2V0ZGV0YWNoc3RhdGUAZnB1dGNfdW5s
b2NrZWQAZmNudGwAX2Zic3MAZnNlZWtvNjQAcHRocmVhZF9jb25kX3RpbWVkd2FpdABfX3JlZ2lz
dGVyX2ZyYW1lX2luZm8AY2xvc2UAcHRocmVhZF9hdHRyX2dldHNjaGVkcGFyYW0AcmFpc2UAc2ln
cHJvY21hc2sAX19mcHV0Y191bmxvY2tlZAA=

--Boundary-00=_zBjsHXpengDaTjx
Content-Type: application/x-executable;
  name="busybox.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="busybox.bin"

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
WAMAABIACACsBwAAsJZEAMgAAAASAAAAjwAAAPANABAEAAAAEQAMACwIAACglkQASAAAABIAAACz
BwAAkJZEADgAAAASAAAAqQQAAFAORAB0AAAAEgAIAEUGAACAlkQAfAAAABIAAADYAgAAsNdDANwA
AAASAAgAFwEAALC2QgCUBgAAEgAIADUIAABwlkQAdAAAABIAAAAVDgAAYJZEANwAAAASAAAA6AsA
AFCWRABsAAAAEgAAALMLAABAlkQASAAAABIAAAB5BAAAMJZEAEQAAAASAAAAKQMAAMA7QAD8AAAA
EgAIABYJAAAglkQAdAAAABIAAAAvAAAAsDVAABwAAAASAAcAMAQAABCWRAB0AAAAEgAAAHwGAADw
/0MA0AAAABIACAD3CwAAAJZEAHQAAAASAAAAHgsAAPCVRAAsAAAAEgAAANsNAADglUQAxAAAABIA
AADCAgAAuO9DACACAAASAAgANgQAAAAAAACEAAAAEgAAAOUMAAAAFkQA0AAAABIACABaDgAA0JVE
ANwAAAASAAAA7gYAAMCVRAB8AAAAEgAAAEIFAACwlUQAAAAAABIAAABsAQAAILdDAEgCAAASAAgA
9AcAAKCVRADoAAAAEgAAAP8BAABQmUAAsAEAABIACABkAQAATG1AAAwDAAASAAgAOwgAAJCVRACo
AwAAEgAAAGoFAADABkQAPAIAABIACAAyBQAAgJVEAHwAAAASAAAAkg4AAJCKRAAwAwAAEgAIAGUK
AAAQcEQAFAEAABIACABgCAAAcJVEAPAAAAASAAAA/gUAAIAhRADwAAAAEgAIAGwIAABglUQANAAA
ABIAAABSCAAAUJVEAHQAAAASAAAAqA4AACCBRAB8AAAAEgAIAMYIAABgS0QA5AAAABIACACTBAAA
AAAAAIQAAAASAAAAVw0AAMAeRAD8AAAAEgAIAOIFAABAlUQAKAEAABIAAAAgCAAAMJVEALAAAAAS
AAAAagkAACCVRAAAAAAAEgAAANkIAAAQlUQAjAAAABIAAACLDQAAAJVEAHQAAAASAAAA2gQAAIAP
RAB0AAAAEgAIAAcOAADwlEQAvAAAABIAAAC5CgAA4JREAFgAAAASAAAADwQAAMAfRACgAAAAEgAI
AKEEAADQlEQARAAAABIAAABjBQAAwJREAHwAAAASAAAACQwAAAAAAAAAAgAAEQAAAOAIAACwAkUA
CAAAABEACgA6CQAAsJREAAAAAAASAAAArgYAAKCURAB0AAAAEgAAAMsMAAAAEEQAxAAAABIACABD
AwAAAAAAAAQAAAARAAAAdgYAAJCURABgAAAAEgAAAP0JAAAwV0QA1AIAABIACAAVBgAAgJREAEQA
AAASAAAAwQ0AADAOABAEAAAAEQAMAPAMAADQFkQA5AAAABIACABJBwAAcJREAGQAAAASAAAAJAsA
AGCURACwAAAAEgAAANMGAABQlEQAAAAAABIAAADKCQAAQJREACgAAAASAAAAHwoAADCURABsAAAA
EgAAAFoLAAAglEQAKAMAABIAAAA0BgAA4PFDAIAAAAASAAgAKg4AABCURAAYAAAAEgAAAFEGAAAA
lEQA5AAAABIAAABxDQAA8JNEAIwAAAASAAAAyQcAAPADRADEAgAAEgAIAJoEAADgk0QAhAAAABIA
AAC/CwAA0JNEAJQGAAASAAAAjgcAAMCTRADoAAAAEgAAABgCAAC84kMAJAYAABIACAAgAQAAENpD
AAQBAAASAAgA2gkAALCTRACMAAAAEgAAAAQIAACgk0QANAAAABIAAABPAAAA8BQAEAQAAAARABIA
5AIAAJDYQwB0AQAAEgAIAOgDAADwUkQAAAEAABIACADDBwAAkJNEAMQAAAASAAAAEAsAAICTRACE
AAAAEgAAAFsMAABwk0QAbAEAABIAAAAzBwAAYJNEAAAAAAASAAAA6wQAAKAVRABcAAAAEgAIALIN
AABQk0QAlAEAABIAAABlBwAAQJNEAIwAAAASAAAAMw0AAPAdRADEAAAAEgAIALUEAAAgDgAQBAAA
ABEADAAuCgAAcDYAEIABAAARABMAbgAAAHABRACwAAAAEgAIAOMAAAAwk0QA5AAAABIAAAB9CAAA
IJNEADAAAAASAAAAtwwAABCTRABsAAAAEgAAAJ0IAACAUkQAcAAAABIACACWBQAAIAJEAMQBAAAS
AAgABAQAAEAVRABUAAAAEgAIAAkLAAAAk0QAdAAAABIAAAC2BgAA8JJEAOQAAAASAAAAYQwAABAO
ABAEAAAAEQAMAMAAAADwokQAUgQAABEACgBHDAAA4JJEAHQAAAASAAAATg0AAGB6RADgAAAAEgAI
ALkBAAA03kAAVAgAABIACAArAgAAMNVBAOwGAAASAAgArQkAANCSRABIAAAAEgAAACQEAADAkkQA
aAAAABIAAACvAgAAoNZDABQAAAASAAgAXAEAAKBhQACwCAAAEgAIAL0GAACwkkQATAAAABIAAACH
CwAAEFpEAJQBAAASAAgAiAkAAKCSRABUAAAAEgAAALEAAACQkkQAcAAAABIAAACFAwAAOE5AAPAB
AAASAAgANwwAAICSRABsAAAAEgAAAGwHAABwkkQAYAAAABIAAADiBgAAYJJEAHQAAAASAAAAdw4A
AFCSRAAAAAAAEgAAAPEKAABQDgAQBAAAABEADAAqBAAAQJJEAHwAAAASAAAA5QoAAEAOABAEAAAA
EQAMACkBAADEVEAACAIAABIACABKAwAAsPJDAEQBAAASAAgAfgMAAAAAAAAEAAAAEQAAAIUFAAAw
kkQAZAAAABIAAAA/DAAAIJJEAAAAAAASAAAAIwIAAHyfQAAYAwAAEgAIAE0MAAAQkkQAbAAAABIA
AACdDgAAwI1EACADAAASAAgAiAQAAIARRAA0AgAAEgAIAGMNAACgUUQA2AAAABIACAAPBgAAAJJE
AGQAAAASAAAAoAcAAPCRRAAAAAAAEgAAAB4MAADgkUQAmAAAABIAAACmCgAAcA4AEAQAAAARAAwA
IQcAANCRRAAAAAAAEgAAAM8BAADAsUEAKAMAABIACABxAgAAXHVBAPgBAAASAAgAlQEAAHBMQQAg
AwAAEgAIABUMAADAkUQAiAEAABIAAABSAQAAnLFDAHwFAAASAAgAmgIAAGB3QQBICgAAEgAIADwD
AACwkUQAMAAAABIAAAA0AwAA4GpEAHgAAAASAAgA0gUAAKCRRADEAAAAEgAAAJULAACQkUQAAAAA
ABIAAAAAX19kZXJlZ2lzdGVyX2ZyYW1lX2luZm8AX19yZWdpc3Rlcl9mcmFtZV9pbmZvAF9pbml0
AF9maW5pAF9fdUNsaWJjX3N0YXJ0X21haW4AYXBwbGV0X25hbWUAcnVuX2FwcGxldF9ieV9uYW1l
AGVycm9yX21zZ19hbmRfZGllAGFwcGxldHMAc3RkZXJyAGZ1bGxfdmVyc2lvbgBmcHJpbnRmAGV4
aXQAeHN0cmxlbgBtZW1tb3ZlAG1lbXNldAB1c2FnZV9tZXNzYWdlcwBhcHBsZXRfdXNpbmcAc3Ry
Y21wAGJzZWFyY2gAYmVlbl90aGVyZV9kb25lX3RoYXQAYnVzeWJveF9tYWluAHRlc3RfbWFpbgBh
c2hfbWFpbgBjYXRfbWFpbgBjaGdycF9tYWluAGNobW9kX21haW4AY2hvd25fbWFpbgBjcF9tYWlu
AGRhdGVfbWFpbgBkZF9tYWluAGRmX21haW4AZWNob19tYWluAGZhbHNlX21haW4AZnJlZV9tYWlu
AGdyZXBfbWFpbgBob3N0bmFtZV9tYWluAGlkX21haW4AaWZjb25maWdfbWFpbgBpbml0X21haW4A
aW5zbW9kX21haW4Aa2lsbF9tYWluAGxuX21haW4AbG9naW5fbWFpbgBsc19tYWluAGxzbW9kX21h
aW4AbWtkaXJfbWFpbgBtb2Rwcm9iZV9tYWluAG1vdW50X21haW4AbXZfbWFpbgBwYXNzd2RfbWFp
bgBwaW5nX21haW4AcHNfbWFpbgBwd2RfbWFpbgByZWJvb3RfbWFpbgBybV9tYWluAHJtbW9kX21h
aW4Acm91dGVfbWFpbgBzbGVlcF9tYWluAHN5bmNfbWFpbgB0YXJfbWFpbgB0ZnRwX21haW4AdG91
Y2hfbWFpbgB0cnVlX21haW4AdHR5X21haW4AdW1vdW50X21haW4Ad2dldF9tYWluAHdob2FtaV9t
YWluAHllc19tYWluAHJlYWxsb2MAeHN0cmR1cAB4Zm9wZW4AY2hvbXAAZnJlZQBnZXRfbGluZV9m
cm9tX2ZpbGUAZmNsb3NlAHNob3dfdXNhZ2UAeG1hbGxvYwBzdHJjcHkAb3B0YXJnAGNvbmNhdF9w
YXRoX2ZpbGUAZ2V0b3B0AG9wdGluZABzdGRpbgBnZXRfaGVhZGVyX3RhcgBzdGRvdXQAdW5hcmNo
aXZlAHN0cm5jbXAAc3RyY2F0AGNvcHlfZmlsZV9jaHVuawBhcmNoaXZlX29mZnNldABmcmVhZABs
c3RhdAB1bmxpbmsAZXJyb3JfbXNnAHNlZWtfc3ViX2ZpbGUAZGlybmFtZQBtYWtlX2RpcmVjdG9y
eQBsaW5rAHBlcnJvcl9tc2cAd2ZvcGVuAG1rZGlyAHN5bWxpbmsAbWtub2QAdXRpbWUAY2htb2QA
Y2hvd24AbW9kZV9zdHJpbmcAdGltZV9zdHJpbmcAZm5tYXRjaABmc2VlawBfX2Vycm5vX2xvY2F0
aW9uAGZnZXRjAHN0cnRvbAB4Y2FsbG9jAHBhcnNlX21vZGUAbGNob3duAHBlcnJvcgBzdHJ0b3Vs
AG15X2dldGdybmFtAHRvb19mZXdfYXJncwByZWN1cnNpdmVfYWN0aW9uAHN0cmNocgBteV9nZXRw
d25hbQBzdGF0AHBlcnJvcl9tc2dfYW5kX2RpZQBjb3B5X2ZpbGUAZ2V0X2xhc3RfcGF0aF9jb21w
b25lbnQAcGFyc2VfbnVtYmVyAG9wZW4AZnRydW5jYXRlAGZzdGF0AGxzZWVrAGZ1bGxfd3JpdGUA
c2FmZV9yZWFkAGNsb3NlAHN0YXRmcwBmaW5kX3JlYWxfcm9vdF9kZXZpY2VfbmFtZQBwcmludGYA
bXRhYl9maWxlAGZpbmRfbW91bnRfcG9pbnQAc2V0bW50ZW50AGdldG1udGVudABlbmRtbnRlbnQA
aXNfZGlyZWN0b3J5AHB1dGNoYXIAb3BlbmRpcgByZWFkZGlyAGNsb3NlZGlyAGN0aW1lAHRpbWUA
eHJlYWRsaW5rAGZpbGVubwBpb2N0bABpc2F0dHkAYXRvaQByZW1vdmVfZmlsZQBhY2Nlc3MAYXNr
X2NvbmZpcm1hdGlvbgByZW5hbWUAc3luYwBwdXRzAHJlZ2V4ZWMAeHJlYWxsb2MAeHJlZ2NvbXAA
Zm9wZW4Ac2xlZXAAZGV2aWNlX29wZW4AdmRwcmludGYAdmZwcmludGYAdGNnZXRhdHRyAHRjc2V0
YXR0cgBzeXNpbmZvAGdldGVudgBzbnByaW50ZgBzYWZlX3N0cm5jcHkAc3lzdGVtAGVudmlyb24A
c2lnZW1wdHlzZXQAc2lnYWRkc2V0AHNpZ3Byb2NtYXNrAGZvcmsAc2lnbmFsAHNldHNpZABfZXhp
dABkdXAAd2FpdHBpZAB0Y2dldHBncnAAZ2V0cGlkAHN0cnBicmsAc3Ryc2VwAG1hbGxvYwB3cml0
ZQBmZ2V0Y191bmxvY2tlZABleGVjdmUAc3RyZXJyb3IAd2FpdABraWxsAHJlYm9vdABiZGZsdXNo
AGV4ZWNsAHN5c19lcnJsaXN0AHBhdXNlAHdhaXQzAGNhbGxvYwBzdHJyY2hyAHN0cm5jYXQAZmdl
dHMAZmluZF9waWRfYnlfbmFtZQBnZXRfa2VybmVsX3JldmlzaW9uAGNoZGlyAHB1dGVudgBfX2Fz
c2VydABtZW1jcHkAaXNkaWdpdABxdWVyeV9tb2R1bGUAaW5pdF9tb2R1bGUAYmFzZW5hbWUAdW5h
bWUAcmVhbHBhdGgAY3JlYXRlX21vZHVsZQBkZWxldGVfbW9kdWxlAGZmbHVzaAByZWFkAGlzc3Bh
Y2UAeHN0cm5kdXAAaXNibGFuawBzZXRob3N0bmFtZQBnZXRob3N0bmFtZQB4Z2V0aG9zdGJ5bmFt
ZQBpbmV0X250b2EAaW50ZXJmYWNlX29wdF9hAGRpc3BsYXlfaW50ZXJmYWNlcwBzb2NrZXQAYmJf
SU5FVF9kZWZhdWx0AGluZXRfYXRvbgBob3N0ZW50AGdldHRpbWVvZmRheQBzZW5kdG8AYWxhcm0A
Y3JlYXRlX2ljbXBfc29ja2V0AHNldHNvY2tvcHQAcmVjdmZyb20ASU5FVF9yZXNvbHZlAHNzY2Fu
ZgBJTkVUX3JyZXNvbHZlAGJpbmQAc2VsZWN0AGNsZWFyZXJyAGZlcnJvcgBmd3JpdGUAZ2V0b3B0
X2xvbmcAZnB1dHMAZnJlb3BlbgBzdHJjYXNlY21wAGF0b2wAc3ByaW50ZgB4Y29ubmVjdABmZG9w
ZW4AdG9sb3dlcgBpc2FsbnVtAHNldGl0aW1lcgBzaWdhY3Rpb24AZnB1dGNfdW5sb2NrZWQAdV9z
aWduYWxfbmFtZXMAc3Ryc3RyAG15X2dldHB3dWlkAGdldHVpZAB0dHluYW1lAHV0ZW50AHNldHBn
cnAAb3BlbmxvZwBnZXRwd25hbQBjb3JyZWN0X3Bhc3N3b3JkAHN5c2xvZwBjaGFuZ2VfaWRlbnRp
dHkAc2V0dXBfZW52aXJvbm1lbnQAcnVuX3NoZWxsAGlzZ3JhcGgAbm9sb2dpbl9maWxlAG1vdGRf
ZmlsZQBzZXR1dGVudABnZXR1dGVudABzdHJuY3B5AHB1dHV0bGluZQBlbmR1dGVudAB1cGR3dG1w
AHNoYWRvd19maWxlAHBhc3N3ZF9maWxlAGZjbnRsAHVtYXNrAGZjaG1vZABmY2hvd24AcmV3aW5k
AGJ6ZXJvAGZlb2YAZnN5bmMAZ2V0cHd1aWQAZ2V0c3BuYW0AcHdkX3RvX3Nwd2QAc2V0dWlkAGNs
b2NrAGdldHBhc3MAcHdfZW5jcnlwdABvYnNjdXJlAHNldHJsaW1pdAB4Z2V0Y3dkAHNpbXBsaWZ5
X3BhdGgAbG9uZ2ptcAByYWlzZQBpc2FscGhhAF9zZXRqbXAAcGlwZQBzZXRlbnYAZ2xvYgBnbG9i
ZnJlZQBnZXRwcGlkAGNtZGVkaXRfcmVhZF9pbnB1dABnZXRwZ3JwAGtpbGxwZwBzZXRwZ2lkAHRj
c2V0cGdycABzeXNfc2lnbGlzdAB1bnNldGVudgBnZXRybGltaXQAc3RyY3NwbgBzdHJzcG4AZ2V0
ZXVpZABzeXNjb25mAHRpbWVzAGdldGdpZABhdGV4aXQAcXNvcnQAaW52YWxpZF9kYXRlAG1lbW9y
eV9leGhhdXN0ZWQAbG9jYWx0aW1lAG1rdGltZQBzdGltZQBzdHJmdGltZQBwcm9jZXNzX2VzY2Fw
ZV9zZXF1ZW5jZQBnZXRlZ2lkAG15X2dldGdyZ2lkAG15X2dldHB3bmFtZWdpZABnZXRncm91cHMA
cHJpbnRfZmlsZQBwcmludF9maWxlX2J5X25hbWUAbW91bnQAc3RyZHVwAHVtb3VudABnZXRjaGFy
AGxhc3RfY2hhcl9pcwBta2ZpZm8AdmVycm9yX21zZwBzdHJ0b2sAZ2V0Z3JuYW0AZ2V0Z3JnaWQA
dnBlcnJvcl9tc2cAY29weWZkAGdldGN3ZAByZWFkbGluawByZWdjb21wAHJlZ2Vycm9yAHJtZGly
AGdldGhvc3RieW5hbWUAaGVycm9yX21zZ19hbmRfZGllAGdldHByb3RvYnluYW1lAGNhbl9ub3Rf
Y3JlYXRlX3Jhd19zb2NrZXQAc3RybmNhc2VjbXAAZ2V0bmV0YnluYW1lAF9faF9lcnJub19sb2Nh
dGlvbgBnZXRob3N0YnlhZGRyAGdldG5ldGJ5YWRkcgBpc3VwcGVyAGlzbG93ZXIAc3RybGVuAGNy
eXB0AGluaXRncm91cHMAZW5kZ3JlbnQAc2V0Z2lkAGNsZWFyZW52AGV4ZWN2AGdldHNlcnZieW5h
bWUAY29ubmVjdAB2aGVycm9yX21zZwBoZXJyb3IAX19nZXRncmVudABfX2dldHB3ZW50AHNldGdy
b3VwcwBfRFlOQU1JQ19MSU5LSU5HAF9fUkxEX01BUABsaWJjcnlwdC5zby4wAF9ncF9kaXNwAF9E
WU5BTUlDAF9HTE9CQUxfT0ZGU0VUX1RBQkxFXwBsaWJjLnNvLjAAc2V0Z3JlbnQAcHV0c3BlbnQA
ZmdldHNwZW50AHNldHNwZW50AGdldGdyZW50AGVuZHNwZW50AGdldHNwZW50AHNnZXRzcGVudABt
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
AAAAACAAQjQYgIGPAAAAAEgVISQAACKsnAAAECEgIAIYgIKPAAAAAEgVQiQAAEKMAAAAAAIAQjQY
gIGPAAAAAEgVISQAACKskAAAECEgIAIgAAIkGICBjwAAAABAFSEkAAAirIkAABAhICACGICCjwAA
AABIFUIkAABCjAAAAAAAMEI0GICBjwAAAABIFSEkAAAirH0AABAhICACGICCjwAAAABIFUIkAABC
jAAAAAAAEEI0GICBjwAAAABIFSEkAAAirHEAABAhICACGICCjwAAAABQFUIkAABCjAAAAAABAEI0
GICBjwAAAABQFSEkAAAirGUAABAhICACAwACJBiAgY8AAAAATBUhJAAAIqxeAAAQISAgAgcAAiQY
gIGPAAAAAEwVISQAACKsVwAAECEgIAIIAAIkGICBjwAAAABMFSEkAAAirFAAABAhICACGICCjwAA
AABIFUIkAABCjAAAAAAAAkI0GICBjwAAAABIFSEkAAAirEQAABAhICACAQACJBiAgY8AAAAAVBUh
JAAAIqwFAAIkGICBjwAAAABMFSEkAAAirDgAABAhICACAgACJBiAgY8AAAAAVBUhJAAAIqwEAAIk
GICBjwAAAABMFSEkAAAirCwAABAhICACBgACJBiAgY8AAAAATBUhJAAAIqwlAAAQISAgAgEAAiQY
gIGPAAAAAPQCISQAACKsHgAAECEgIALchISPAAAAAAAAhIz0gJmPAAAAAAn4IAMAAAAAEAC8jwAA
AAAYgIGPAAAAAP4CISQAACKkDwAAECEgIALchISPAAAAAAAAhIz0gJmPAAAAAAn4IAMAAAAAEAC8
jwAAAAAYgIGPAAAAAPoCISQAACKkISAgAiEoYAIggIaPAAAAAGytxiRogpmPAAAAAAn4IAMAAAAA
EAC8j/X+QBzP/0MkGICDjwAAAABUFWMkAABjjAAAAAABAGIwBQBAEAUAAiQYgIGPAAAAAEwVISQA
ACKsAgBiMAUAQBAEAAIkGICBjwAAAABMFSEkAAAirBiAhI8AAAAARBWEJAAAhIwBAAIkCwCCEN//
AyQYgIKPAAAAAEgVQiQAAEKMAAAAACQQQwAYgIGPAAAAAEgVISQAACKsFgCAFAAAAAD0hYSPAAAA
AAAAhIzkgJmPAAAAAAn4IAMAAAAAEAC8jyEgQADohJmPAAAAAAn4IAMAAAAAEAC8jwIAQBACAAMk
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
AAAAABiAgo8AAAAAhBVCJAAAQowAAAAAKxAiAuv/QBQIABAmIRAAACQAv48cALGPGACwjwgA4AMo
AL0nwA8cPDSDnCch4JkDwP+9JyAAvK84AL+vNAC8rzAAsq8sALGvKACwryGIgAAhkKAAIICFjwAA
AACQvaUkBAAGJGAAByQkgJmPAAAAAID0OScAAAAACfggAwAAAAAgALyPISgAACGAQAAsAASOYAAG
JFyCmY8AAAAACfggAwAAAAAgALyPNAADjhQAoK9gAAIkGACiryEgIAIggIWPAAAAAJi9pST//wYk
AQAHJBAAo68kgJmPAAAAADjsOScAAAAACfggAwAAAAAgALyPISAgAggABiQ0AAWOIThAAiSAmY8A
AAAAHBU5JwAAAAAJ+CADAAAAACAAvI84AL+PMACyjywAsY8oALCPAQACJAgA4ANAAL0nwA8cPCCC
nCch4JkDwP+9JxAAvK88AL+vOAC+rzQAvK8wALavLAC1rygAtK8kALOvIACyrxwAsa8YALCvIfCg
AxiAgo8AAAAAkBVCJAAAQowAAAAASQBAECGogAAggIWPAAAAAKi9pSQEAAYkQDgCACE44gCAOAcA
JICZjwAAAAAs8zknAAAAAAn4IAMAAAAAEADcjyGQQAADAEAWISCgArMAABAhEAAAIICFjwAAAACY
vaUkJICZjwAAAACA7zknAAAAAAn4IAMAAAAAEADcjyGAAAAYgIOPAAAAAIwVYyQAAGOMLABRjiQA
YBghoEAAIZgAABiAgo8AAAAAiBVCJAAAQowAAAAAIRhiAggAYowAAAAAEQBAECEgoAIEAGKMITiA
AgAAIq4sAEaONABFjvz/xiQjMCYCJICZjwAAAACUFjknAAAAAAn4IAMAAAAAEADcjwgAIK4MADEm
GICCjwAAAACMFUIkAABCjAEAECYqEAIC3/9AFBQAcyYYgIKPAAAAAEAEQiQAAEKMAAAAAHYAQBAh
IKACIICQjwAAAAC0vRAmAAAAACEoAAIkgJmPAAAAALDwOScAAAAACfggAwAAAAAQANyPaQBAFAEA
AiQhIKACISgAAgQABiQhOAAAJICZjwAAAAAs8zknAAAAAAn4IAMAAAAAEADcjzAAsJYhkEAAgBAQ
AAcAQiTCEAIAwBACACPoogP//xAmDwAABhAAtieAEBAAISBWADgAo46AEBAAIRBDAAAAQowAAAAA
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
MACyjywAsY8oALCPCADgA0gAvScAAAAAAAAAAAAAAAC9Dxw8AOKcJyHgmQPI/70nIAC8rzQAv68w
ALyvLACxrygAsK8hgIAACAACJhAAoq8EAAImFACirxQAAiYYAKKvIYigACEgIAIggIWPAAAAAADv
pSQQAAYmDAAHJsSCmY8AAAAACfggAwAAAAAgALyP/P9CJAIAQiwJAEAUISggApSFhI8AAAAAAACE
jHCFmY8AAAAACfggAwAAAAAgALyPFAADjgAAAABsB2IoBABAFCEQAAKU+GIkFAACriEQAAIQAAOO
NAC/jywAsY///2MkEAADrigAsI8IAOADOAC9J70PHDwg4ZwnIeCZA4D/vScgALyveAC/r3QAvq9w
ALyvbAC3r2gAtq9kALWvYAC0r1wAs69YALKvVACxr1AAsK8h8KAAKACxJyEYIAIhuIAAIRDgAiAA
8CYAAESMBABFjAgARowMAEeMAABkrAQAZawIAGasDABnrBAAQiT2/1AUEABjJAAACI4AAAAAAABo
rBAAsa8hIMADIICFjwAAAAAQ76UkMAC1JyEwoAIsALQnITiAAsSCmY8AAAAACfggAwAAAAAgALyP
AwADJLUAQxAhEOACIRggAgAARowEAEeMCABIjAwARIwAAGasBABnrAgAaKwMAGSsEABCJPb/UBQQ
AGMkAAAFjgAAAAAAAGWsISDAAyCAhY8AAAAAHO+lJCEwoAIhOIACxIKZjwAAAAAJ+CADAAAAACAA
vI8CAAMkmABDECEQ4AIhGCACAABEjAQARYwIAEaMDABHjAAAZKwEAGWsCABmrAwAZ6wQAEIk9v9Q
FBAAYyQAAAiOAAAAAAAAaKwQALWvFAC0rxgAsa8hIMADIICFjwAAAAAk76UkOACzJyEwYAI0ALIn
IThAAsSCmY8AAAAACfggAwAAAAAgALyPBQADJCAAQxAhEOACIRggAgAARowEAEeMCABIjAwARIwA
AGasBABnrAgAaKwMAGSsEABCJPb/UBQQAGMkAAAFjgAAAAAAAGWsEAC1rxQAtK8hIMADIICFjwAA
AAA076UkITBgAiE4QALEgpmPAAAAAAn4IAMAAAAAIAC8jwQAAyQGAEMUIRDgAjgAoo8AAAAA//9C
JFIAABA4AKKvIRggAgAARIwEAEWMCABGjAwAR4wAAGSsBABlrAgAZqwMAGesEABCJPb/UBQQAGMk
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
JACxjyAAsI8IAOADOAC9J7wPHDzQYZwnIeCZA9D/vScQALyvLAC/rygAvK8kALOvIACyrxwAsa8Y
ALCvIYiAAAIAABAhgKAAAQAQJgAABIKEhJmPAAAAAAn4IAMAAAAAEAC8j/j/QBQAAAAAIwAAEAAA
AAAAAAKCAAAEkhwAQxQhmAACAAAkogEAECYEAAAQIZAgAgAAApIBABAmAAAiogAABIJQgZmPAAAA
AAn4IAMAAAAAEAC8j/b/QBQBADEmAAADgjoAAiQDAGIQAAAAACGAYAIhiEACAAACggAAAAARAEAU
AQAQJhEAABAhEAAAAAAkogEAECYBADEmAAAEggAAAAAIAIAQAAAAAISEmY8AAAAACfggAwAAAAAQ
ALyP1P9AEDoAAyQAACCiIRAAAiwAv48kALOPIACyjxwAsY8YALCPCADgAzAAvSe8Dxw8lGCcJyHg
mQOg/70nSAC8r1gAv69UALyvUACwrxiAg48AAAAAIAtjJAAAY4wCAAIkMgBiECGAoAADAGIoBQBA
EAEAAiRPAGIQSAECJm8AABAAAAAAAwACJGwAYhRAAQImEACir0gBAiYUAKKvcAECJhgAoq9sAQIm
HACir1QBAiYgAKKvUAECJiQAoq84AQImKACirygBAiYsAKKvRAECJjAAoq9MAQImNACir4ABAiY4
AKKvXAECJjwAoq98AQImQACir1gBAiZEAKKvIICFjwAAAACA+6UkMAEGJiABBybEgpmPAAAAAAn4
IAMAAAAASAC8j0UAABAAAAAAQAECJhAAoq9IAQImFACir3ABAiYYAKKvbAECJhwAoq84AQImIACi
rygBAiYkAKKvRAECJigAoq9MAQImLACir4ABAiYwAKKvXAECJjQAoq98AQImOACiryCAhY8AAAAA
wPulJDABBiYgAQcmxIKZjwAAAAAJ+CADAAAAAEgAvI8jAAAQUAEArhAAoq9wAQImFACir2wBAiYY
AKKvKAECJhwAoq9EAQImIACir0wBAiYkAKKvgAECJigAoq9cAQImLACir3wBAiYwAKKvIICFjwAA
AAD0+6UkIAEGJkABBybEgpmPAAAAAAn4IAMAAAAASAC8jyEQAAAhGAAAMAECrjQBA644AQKuPAED
rlABAK5YAL+PUACwjyEQAAAIAOADYAC9J7wPHDxwXpwnIeCZA7j9vScQALyvRAK/r0ACvK88ArWv
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
ISCAAiEoIAIKAAYkwISZjwAAAAAJ+CADAAAAABAAvI8YAKOP/P8CrgAAYoAAAAAAVP9AFCEgYAL0
/wImPAC/jzQAtY8wALSPLACzjygAso8kALGPIACwjwgA4ANAAL0nvA8cPMD9nCch4JkD2P+9JxAA
vK8kAL+vIAC8rxwAsa8YALCvGICQjwAAAACYDhAmAAADjv//AiQLAGIQ//8RJAAAA478/xAmIchg
AAn4IAMAAAAAEAC8jwAAAo4AAAAA9/9RFAAAAAAkAL+PHACxjxgAsI8IAOADKAC9J7wPHDxE/Zwn
IeCZA+D/vScQALyvHAC/rxgAvK8cAL+PAAAAAAgA4AMgAL0nAAAAAAAAAAAQgJmPIXjgAwn4IAOa
ARgkEICZjyF44AMJ+CADmQEYJBCAmY8heOADCfggA5cBGCQQgJmPIXjgAwn4IAOUARgkEICZjyF4
4AMJ+CADkAEYJBCAmY8heOADCfggA44BGCQQgJmPIXjgAwn4IAONARgkEICZjyF44AMJ+CADjAEY
JBCAmY8heOADCfggA4gBGCQQgJmPIXjgAwn4IAOGARgkEICZjyF44AMJ+CADhQEYJBCAmY8heOAD
CfggA4ABGCQQgJmPIXjgAwn4IAN+ARgkEICZjyF44AMJ+CADfQEYJBCAmY8heOADCfggA3wBGCQQ
gJmPIXjgAwn4IAN7ARgkEICZjyF44AMJ+CADeQEYJBCAmY8heOADCfggA3gBGCQQgJmPIXjgAwn4
IAN2ARgkEICZjyF44AMJ+CADcwEYJBCAmY8heOADCfggA3IBGCQQgJmPIXjgAwn4IANuARgkEICZ
jyF44AMJ+CADawEYJBCAmY8heOADCfggA2oBGCQQgJmPIXjgAwn4IANmARgkEICZjyF44AMJ+CAD
ZQEYJBCAmY8heOADCfggA2QBGCQQgJmPIXjgAwn4IANfARgkEICZjyF44AMJ+CADXgEYJBCAmY8h
eOADCfggA1wBGCQQgJmPIXjgAwn4IANbARgkEICZjyF44AMJ+CADWgEYJBCAmY8heOADCfggA1kB
GCQQgJmPIXjgAwn4IANVARgkEICZjyF44AMJ+CADVAEYJBCAmY8heOADCfggA1EBGCQQgJmPIXjg
Awn4IANQARgkEICZjyF44AMJ+CADTwEYJBCAmY8heOADCfggA00BGCQQgJmPIXjgAwn4IANMARgk
EICZjyF44AMJ+CADSwEYJBCAmY8heOADCfggA0kBGCQQgJmPIXjgAwn4IANIARgkEICZjyF44AMJ
+CADRwEYJBCAmY8heOADCfggA0YBGCQQgJmPIXjgAwn4IANFARgkEICZjyF44AMJ+CADRAEYJBCA
mY8heOADCfggA0EBGCQQgJmPIXjgAwn4IAM/ARgkEICZjyF44AMJ+CADPAEYJBCAmY8heOADCfgg
AzsBGCQQgJmPIXjgAwn4IAM4ARgkEICZjyF44AMJ+CADNwEYJBCAmY8heOADCfggAzUBGCQQgJmP
IXjgAwn4IAM0ARgkEICZjyF44AMJ+CADMgEYJBCAmY8heOADCfggAzEBGCQQgJmPIXjgAwn4IAMw
ARgkEICZjyF44AMJ+CADLwEYJBCAmY8heOADCfggAy4BGCQQgJmPIXjgAwn4IAMpARgkEICZjyF4
4AMJ+CADKAEYJBCAmY8heOADCfggAyYBGCQQgJmPIXjgAwn4IAMjARgkEICZjyF44AMJ+CADIQEY
JBCAmY8heOADCfggAx4BGCQQgJmPIXjgAwn4IAMcARgkEICZjyF44AMJ+CADGwEYJBCAmY8heOAD
CfggAxoBGCQQgJmPIXjgAwn4IAMWARgkEICZjyF44AMJ+CADFQEYJBCAmY8heOADCfggAxQBGCQQ
gJmPIXjgAwn4IAMSARgkEICZjyF44AMJ+CADEAEYJBCAmY8heOADCfggAw4BGCQQgJmPIXjgAwn4
IAMNARgkEICZjyF44AMJ+CADDAEYJBCAmY8heOADCfggAwsBGCQQgJmPIXjgAwn4IAMKARgkEICZ
jyF44AMJ+CADBwEYJBCAmY8heOADCfggAwUBGCQQgJmPIXjgAwn4IAMEARgkEICZjyF44AMJ+CAD
AgEYJBCAmY8heOADCfggAwABGCQQgJmPIXjgAwn4IAP/ABgkEICZjyF44AMJ+CAD/AAYJBCAmY8h
eOADCfggA/sAGCQQgJmPIXjgAwn4IAP6ABgkEICZjyF44AMJ+CAD+QAYJBCAmY8heOADCfggA/YA
GCQQgJmPIXjgAwn4IAP1ABgkEICZjyF44AMJ+CAD8QAYJBCAmY8heOADCfggA+8AGCQQgJmPIXjg
Awn4IAPuABgkEICZjyF44AMJ+CAD6gAYJBCAmY8heOADCfggA+kAGCQQgJmPIXjgAwn4IAPoABgk
EICZjyF44AMJ+CAD4gAYJBCAmY8heOADCfggA+EAGCQQgJmPIXjgAwn4IAPfABgkEICZjyF44AMJ
+CAD3QAYJBCAmY8heOADCfggA9wAGCQQgJmPIXjgAwn4IAPbABgkEICZjyF44AMJ+CAD2gAYJBCA
mY8heOADCfggA9kAGCQQgJmPIXjgAwn4IAPYABgkEICZjyF44AMJ+CAD1gAYJBCAmY8heOADCfgg
A9QAGCQQgJmPIXjgAwn4IAPSABgkEICZjyF44AMJ+CAD0QAYJBCAmY8heOADCfggA9AAGCQQgJmP
IXjgAwn4IAPOABgkEICZjyF44AMJ+CADzQAYJBCAmY8heOADCfggA8wAGCQQgJmPIXjgAwn4IAPL
ABgkEICZjyF44AMJ+CADygAYJBCAmY8heOADCfggA8kAGCQQgJmPIXjgAwn4IAPHABgkEICZjyF4
4AMJ+CADxgAYJBCAmY8heOADCfggA8QAGCQQgJmPIXjgAwn4IAPAABgkEICZjyF44AMJ+CADvQAY
JBCAmY8heOADCfggA7sAGCQQgJmPIXjgAwn4IAO5ABgkEICZjyF44AMJ+CADuAAYJBCAmY8heOAD
CfggA7cAGCQQgJmPIXjgAwn4IAO2ABgkEICZjyF44AMJ+CADtQAYJBCAmY8heOADCfggA7QAGCQQ
gJmPIXjgAwn4IAOzABgkEICZjyF44AMJ+CADsAAYJBCAmY8heOADCfggA68AGCQQgJmPIXjgAwn4
IAOsABgkEICZjyF44AMJ+CADqgAYJBCAmY8heOADCfggA6kAGCQQgJmPIXjgAwn4IAOmABgkEICZ
jyF44AMJ+CADpQAYJBCAmY8heOADCfggA6MAGCQQgJmPIXjgAwn4IAOiABgkEICZjyF44AMJ+CAD
oQAYJBCAmY8heOADCfggA58AGCQQgJmPIXjgAwn4IAOeABgkEICZjyF44AMJ+CADnQAYJBCAmY8h
eOADCfggA5sAGCQQgJmPIXjgAwn4IAOZABgkEICZjyF44AMJ+CADmAAYJBCAmY8heOADCfggA5cA
GCQQgJmPIXjgAwn4IAOWABgkEICZjyF44AMJ+CADlQAYJBCAmY8heOADCfggA5MAGCQQgJmPIXjg
Awn4IAOSABgkEICZjyF44AMJ+CADkQAYJBCAmY8heOADCfggA5AAGCQQgJmPIXjgAwn4IAOOABgk
EICZjyF44AMJ+CADjQAYJBCAmY8heOADCfggA4oAGCQQgJmPIXjgAwn4IAOJABgkEICZjyF44AMJ
+CADhgAYJBCAmY8heOADCfggA4QAGCQQgJmPIXjgAwn4IAOCABgkEICZjyF44AMJ+CADgAAYJBCA
mY8heOADCfggA38AGCQQgJmPIXjgAwn4IAN9ABgkEICZjyF44AMJ+CADfAAYJBCAmY8heOADCfgg
A3YAGCQQgJmPIXjgAwn4IAN1ABgkEICZjyF44AMJ+CADdAAYJBCAmY8heOADCfggA3MAGCQQgJmP
IXjgAwn4IANxABgkEICZjyF44AMJ+CADbwAYJBCAmY8heOADCfggA24AGCQQgJmPIXjgAwn4IANq
ABgkEICZjyF44AMJ+CADaQAYJBCAmY8heOADCfggA2UAGCQQgJmPIXjgAwn4IANjABgkEICZjyF4
4AMJ+CADXgAYJBCAmY8heOADCfggA10AGCQQgJmPIXjgAwn4IANcABgkEICZjyF44AMJ+CADWwAY
JBCAmY8heOADCfggA1oAGCQQgJmPIXjgAwn4IANZABgkEICZjyF44AMJ+CADWAAYJBCAmY8heOAD
CfggA1UAGCQQgJmPIXjgAwn4IANUABgkEICZjyF44AMJ+CADUwAYJBCAmY8heOADCfggA1EAGCQQ
gJmPIXjgAwn4IANPABgkEICZjyF44AMJ+CADTgAYJBCAmY8heOADCfggA00AGCQQgJmPIXjgAwn4
IANKABgkEICZjyF44AMJ+CADSAAYJBCAmY8heOADCfggA0QAGCQQgJmPIXjgAwn4IANAABgkEICZ
jyF44AMJ+CADPgAYJBCAmY8heOADCfggAzsAGCQQgJmPIXjgAwn4IAM5ABgkEICZjyF44AMJ+CAD
OAAYJBCAmY8heOADCfggAzcAGCQQgJmPIXjgAwn4IAM2ABgkEICZjyF44AMJ+CADNQAYJBCAmY8h
eOADCfggAzMAGCQQgJmPIXjgAwn4IAMyABgkEICZjyF44AMJ+CADMQAYJBCAmY8heOADCfggAzAA
GCQQgJmPIXjgAwn4IAMvABgkEICZjyF44AMJ+CADLgAYJBCAmY8heOADCfggAy0AGCQQgJmPIXjg
Awn4IAMsABgkEICZjyF44AMJ+CADKgAYJBCAmY8heOADCfggAykAGCQQgJmPIXjgAwn4IAMmABgk
EICZjyF44AMJ+CADJAAYJBCAmY8heOADCfggAyMAGCQQgJmPIXjgAwn4IAMiABgkEICZjyF44AMJ
+CADHwAYJBCAmY8heOADCfggAx4AGCQQgJmPIXjgAwn4IAMdABgkEICZjyF44AMJ+CADHAAYJBCA
mY8heOADCfggAxsAGCQQgJmPIXjgAwn4IAMZABgkEICZjyF44AMJ+CADFwAYJAAAAAAAAAAAAAAA
AAAAAAC8Dxw8MO+cJyHgmQPg/70nEAC8rxwAv68YALyvHICZjwAAAAAgNjknAAAAAAn4IAMAAAAA
EAC8jwAAAAAcAL+PAAAAAAgA4AMgAL0nAAAAAGFwcGxldCBub3QgZm91bmQAAAAAJXMKClVzYWdl
OiBidXN5Ym94IFtmdW5jdGlvbl0gW2FyZ3VtZW50c10uLi4KICAgb3I6IFtmdW5jdGlvbl0gW2Fy
Z3VtZW50c10uLi4KCglCdXN5Qm94IGlzIGEgbXVsdGktY2FsbCBiaW5hcnkgdGhhdCBjb21iaW5l
cyBtYW55IGNvbW1vbiBVbml4Cgl1dGlsaXRpZXMgaW50byBhIHNpbmdsZSBleGVjdXRhYmxlLiAg
TW9zdCBwZW9wbGUgd2lsbCBjcmVhdGUgYQoJbGluayB0byBidXN5Ym94IGZvciBlYWNoIGZ1bmN0
aW9uIHRoZXkgd2lzaCB0byB1c2UsIGFuZCBCdXN5Qm94Cgl3aWxsIGFjdCBsaWtlIHdoYXRldmVy
IGl0IHdhcyBpbnZva2VkIGFzLgoKQ3VycmVudGx5IGRlZmluZWQgZnVuY3Rpb25zOgoAAAAAJXMl
cwAAAAAJAAAALCAAACwKAAAKCgAAAAAAAAAAAABbAAAAYXNoAGJ1c3lib3gAY2F0AGNoZ3JwAAAA
Y2htb2QAAABjaG93bgAAAGNwAABkYXRlAAAAAGRkAABkZgAAZWNobwAAAABmYWxzZQAAAGZyZWUA
AAAAZ3JlcAAAAABob3N0bmFtZQAAAABpZAAAaWZjb25maWcAAAAAaW5pdAAAAABpbnNtb2QAAGtp
bGwAAAAAbG4AAGxvZ2luAAAAbHMAAGxzbW9kAAAAbWtkaXIAAABtb2Rwcm9iZQAAAABtb3VudAAA
AG12AABwYXNzd2QAAHBpbmcAAAAAcHMAAHB3ZAByZWJvb3QAAHJtAABybW1vZAAAAHJvdXRlAAAA
c2gAAHNsZWVwAAAAc3luYwAAAAB0YXIAdGVzdAAAAAB0ZnRwAAAAAHRvdWNoAAAAdHJ1ZQAAAAB0
dHkAdW1vdW50AAB3Z2V0AAAAAHdob2FtaQAAeWVzADIAAAAlcwoKVXNhZ2U6ICVzICVzCgoAACVz
CgpObyBoZWxwIGF2YWlsYWJsZS4KCgAAAAAtLWhlbHAAAAAAAAAAAAAAAAAAAAAAAFtGSUxFXS4u
LgBbT1BUSU9OXS4uLiBHUk9VUCBGSUxFLi4uAFstUl0gTU9ERVssTU9ERV0uLi4gRklMRS4uLgBb
IC1SaCBdLi4uICBPV05FUls8Lnw6PltHUk9VUF1dIEZJTEUuLi4AW09QVElPTl0uLi4gU09VUkNF
IERFU1QAW09QVElPTl0uLi4gWytGT1JNQVRdAFtpZj1GSUxFXSBbb2Y9RklMRV0gW2JzPU5dIFtj
b3VudD1OXSBbc2tpcD1OXQoJICBbc2Vlaz1OXSBbY29udj1ub3RydW5jfG5vZXJyb3J8c3luY10A
Wy1rXSBbRklMRVNZU1RFTSAuLi5dAFstbmVFXSBbQVJHIC4uLl0AAABbLWloSG5xdnNdIFBBVFRF
Uk4gW0ZJTEVzLi4uXQBbT1BUSU9OXSB7aG9zdG5hbWUgfCAtRiBGSUxFfQBbT1BUSU9OU10uLi4g
W1VTRVJOQU1FXQBbLWFdIDxpbnRlcmZhY2U+IFs8YWRkcmVzcz5dAABbT1BUSU9OXS4uLiBNT0RV
TEUgW3N5bWJvbD12YWx1ZV0uLi4AWy1zaWduYWxdIHByb2Nlc3MtaWQgW3Byb2Nlc3MtaWQgLi4u
XQBbT1BUSU9OXSBUQVJHRVQuLi4gTElOS19OQU1FfERJUkVDVE9SWQBbT1BUSU9OXS4uLiBbdXNl
cm5hbWVdIFtFTlY9VkFSIC4uLl0AWy0xQWFjQ2RlRmlsbnBMclNzVHR1dnd4WGtdIFtmaWxlbmFt
ZXMuLi5dAABbT1BUSU9OXSBESVJFQ1RPUlkuLi4AW0ZJTEUgLi4uXQBbZmxhZ3NdIERFVklDRSBO
T0RFIFstbyBvcHRpb25zLG1vcmUtb3B0aW9uc10AU09VUkNFIERFU1QKb3I6IG12IFNPVVJDRS4u
LiBESVJFQ1RPUlkAW09QVElPTl0gW25hbWVdAFtPUFRJT05dLi4uIGhvc3QAAAAAW09QVElPTl0u
Li4gRklMRS4uLgBbT1BUSU9OXS4uLiBbTU9EVUxFXS4uLgBbe2FkZHxkZWx8Zmx1c2h9XQAATgAA
LVt4dHZPXSBbLWYgVEFSRklMRV0gWy1DIERJUl0gW0ZJTEUocyldIC4uLgBFWFBSRVNTSU9OCiAg
b3IgICBbIEVYUFJFU1NJT04gXQBbT1BUSU9OXS4uLiBIT1NUIFtQT1JUXQBbLWNdIEZJTEUgW0ZJ
TEUgLi4uXQAAAFtmbGFnc10gRklMRVNZU1RFTXxESVJFQ1RPUlkAWy1jfC0tY29udGludWVdIFst
cXwtLXF1aWV0XSBbLU98LS1vdXRwdXQtZG9jdW1lbnQgZmlsZV0KCVstLWhlYWRlciAnaGVhZGVy
OiB2YWx1ZSddIFstWXwtLXByb3h5IG9uL29mZl0gWy1QIERJUl0gdXJsAABbT1BUSU9OXS4uLiBb
U1RSSU5HXS4uLgAAAAAAAAAAAAAAAAAAAAByAAAAY3R4VDpYOkM6ZjpPcHZ6AC8AAAAtAAAAWW91
IG11c3Qgc3BlY2lmeSBvbmUgb2YgdGhlIGAtY3R4JyBvcHRpb25zAABZb3UgbWF5IG5vdCBzcGVj
aWZ5IG1vcmUgdGhhbiBvbmUgYGN0eCcgb3B0aW9uLgAuLwAAAAAAAIi0P/A4tT/wOLU/8Di1P/A4
tT/wOLU/8Di1P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Bi1P/A4tT/wOLU/8Di1P/A4tT/wULQ/8Di1
P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Di1P/A4tT/wMLQ/
8Di1P/A4tT/wvLQ/8Di1P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Di1P/A4tT/wOLU/8Ey1P/A4tT/w
OLU/8Di1P/A4tD/wOLU/8CC1P/A4tT/wRLQ/8AAAAAAAAAAALi8AACVzIG5vdCBjcmVhdGVkOiBu
ZXdlciBvciBzYW1lIGFnZSBmaWxlIGV4aXN0cwAAAGNvdWxkbid0IGNyZWF0ZSBsZWFkaW5nIGRp
cmVjdG9yaWVzAENhbm5vdCBsaW5rIGZyb20gJXMgdG8gJyVzJwB3AAAAZXh0cmFjdF9hcmNoaXZl
OiAlcwBDYW5ub3QgY3JlYXRlIHN5bWxpbmsgZnJvbSAlcyB0byAnJXMnAAAAQ2Fubm90IGNyZWF0
ZSBub2RlICVzAAAAJXMgJWQvJWQgJThkICVzIAAAAAAlcwoAAAAAAAAAAAAAAAAAdXN0YXIAAABJ
bnZhbGlkIHRhciBoZWFkZXIgY2hlY2tzdW0AAAAAAAAAAAAAAAAAUgAAAAAAAAAAAAAAAAAAAGlu
dGVybmFsIGVycm9yAABSAAAAdW5rbm93biBtb2RlOiAlcwAAAAAAAAAAAAAAAFJoAAAAAAAAAAAA
AAAAAABhZGZpcFIAAHVuYWJsZSB0byBzdGF0IGAlcycAAAAAAITPP/CMzz/wjM8/8IzPP/CMzz/w
jM8/8IzPP/CMzz/wjM8/8IzPP/CMzz/wjM8/8IzPP/CMzz/wjM8/8FzPP/CMzz/wjM8/8GDPP/CM
zz/wbM8/8IzPP/CMzz/wdM8/8IzPP/CMzz/wjM8/8IzPP/CMzz/wjM8/8HzPP/AAAAAARwAAAEdE
AABNAAAATUQAAGsAAABrRAAAYgAAAHcAAABjAAAAYnM9AGNvdW50PQAAc2Vlaz0AAABza2lwPQAA
AGlmPQBvZj0AY29udj0AAABub3RydW5jAHN5bmMAAAAAbm9lcnJvcgBpbnZhbGlkIGNvbnZlcnNp
b24gYCVzJwAlcwAAc3RhbmRhcmQgaW5wdXQAAHN0YW5kYXJkIG91dHB1dAAlbGQrJWxkIHJlY29y
ZHMgaW4KACVsZCslbGQgcmVjb3JkcyBvdXQKAAAAACVzAAAvZGV2L3Jvb3QAAAAlLTIwcyAlOWxk
ICU5bGQgJTlsZCAlM2xkJSUgJXMKADFrLWJsb2NrcwAAAGsAAAAlLTIwcyAlLTE0cyAlcyAlcyAl
cyAlcwoAAAAARmlsZXN5c3RlbQAAVXNlZAAAAABBdmFpbGFibGUAAABVc2UlAAAAAE1vdW50ZWQg
b24AACVzOiBjYW4ndCBmaW5kIG1vdW50IHBvaW50LgByAAAAAQAAAAIAAAAEAAAALwAAAHNmbgAA
AAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAAAAAAAAEA
AAACAAAAAAAAAAEAAAACAAAAJXMAAAAjIyMiACMjAAAkACMAACAAAAAAAAABAAEAAQAAAAEAAQAA
AQAAAAAAfAAALwAAAAAAQAA9AAAAAAAAAC4AAAAuLgAACiVzOgoAAAAlN2xkIAAAACU0bGQgAAAA
JS0xMHMgAAAlLThkICUtOGQAAAAlNGQsICUzZCAAAAAlOWxkIAAAACUyNC4yNHMgAAAAACU2LjZz
IAAAJTUuNXMgAAAgJTQuNHMgABtbJWQ7JWRtAAAAABtbMG0AAAAAIC0+IAAAAAAlMWMAMUFhQ2Rn
aWxuc3hUOnc6RnByU3ZYY2V0dUxrACgCQPB8CkDwfApA8HwKQPB8CkDwfApA8HwKQPB8CkDwfApA
8HwKQPB8CkDwfApA8HwKQPB8CkDwfApA8HwKQPBEAkDwfApA8KQCQPB8CkDwfApA8NwDQPB8CkDw
fApA8HwKQPB8CkDwfApA8GwFQPB8CkDwfApA8HwKQPB8CkDwfApA8HwKQPBsBEDwiAVA8HwKQPB8
CkDwfApA8KQEQPB8CkDwfApA8HwKQPB8CkDwfApA8HwKQPB8CkDwfApA8HQCQPB8CkDw8ARA8MAC
QPDABEDwfApA8PgFQPB8CkDw8AJA8HwKQPD4BUDwIANA8HwKQPBgA0DwfApA8AwEQPB8CkDwPARA
8JADQPBQBUDwIAVA8IgEQPDEBUDwwANA8AAAAAAAAAAAbTpwAGludmFsaWQgbW9kZSBgJXMnAAAA
AAAAAAAAAAB1bmFibGUgdG8gc3RhdCBgJXMnAGNhbm5vdCBvdmVyd3JpdGUgZGlyZWN0b3J5IHdp
dGggbm9uLWRpcmVjdG9yeQAAAGNhbm5vdCBvdmVyd3JpdGUgbm9uLWRpcmVjdG9yeSB3aXRoIGRp
cmVjdG9yeQAAAGNhbm5vdCByZW1vdmUgYCVzJwAAbXY6IG92ZXJ3cml0ZSBgJXMnPyAAAAAAdW5h
YmxlIHRvIHJlbmFtZSBgJXMnAAAAZmkAAAAAAABmaVJyAAAAAC4AAAAuLgAAY2Fubm90IHJlbW92
ZSBgLicgb3IgYC4uJwAAAAAAAAAlcwAAAAAAAAAAAAAAAAAAJXMlYwAAAAAlaSVjAAAAACVzOgAx
CgAAJWQKAHIAAABpSGhsbnF2c2NlOmY6AAAALQAAACVzAAAgH0Dw0CBA8NAgQPDQIEDw0CBA8NAg
QPDQIEDw0CBA8NAgQPDQIEDw0CBA8NAgQPDQIEDw0CBA8NAgQPDQIEDw0CBA8NAgQPDQIEDw0CBA
8NAgQPDQIEDw0CBA8NAgQPDQIEDw0CBA8NAgQPBAIEDw0CBA8HAgQPCgIEDw0CBA8FAfQPDAHkDw
0CBA8NAgQPDwHkDw0CBA8IAfQPDQIEDw0CBA8LAfQPDQIEDwECBA8NAgQPDQIEDw4B9A8AAAAAAA
AAAAAAAAAANWAAByZXN0YXJ0AHNodXRkb3duAAAAAGN0cmxhbHRkZWwAAG9uY2UAAAAAd2FpdAAA
AABhc2tmaXJzdAAAAAByZXNwYXduAHN5c2luaXQAL2Rldi92Yy8yAAAAL2Rldi92Yy8zAAAAL2Rl
di92Yy80AAAAL2Rldi92Yy81AAAAAQAAAAIAAABCdW1tZXIsIGNhbid0IHdyaXRlIHRvIGxvZyBv
biAlcyEKAAAvZGV2L2NvbnNvbGUAAAAAQnVtbWVyLCBjYW4ndCBwcmludDogAAAARXJyb3IgY2hl
Y2tpbmcgZnJlZSBtZW1vcnkAAFRFUk0AAAAAVEVSTT0lcwBDT05TT0xFAC9kZXYvdHRzLyVkAC9k
ZXYvdmMvJWQAAC9kZXYvdmMvMQAAAC9kZXYvbnVsbAAAAFRFUk09bGludXgAAFRFUk09dnQxMDIA
AA1zZXJpYWwgY29uc29sZSBkZXRlY3RlZC4gIERpc2FibGluZyB2aXJ0dWFsIHRlcm1pbmFscy4K
AAAAAGNvbnNvbGU9JXMKAC9ldGMvZnN0YWIAAC9iaW4vbW91bnQgLXQgcHJvYyBwcm9jIC9wcm9j
AAAAL3NiaW4vc3dhcG9uIC1hAA1Tb3JyeSwgeW91ciBjb21wdXRlciBkb2VzIG5vdCBoYXZlIGVu
b3VnaCBtZW1vcnkuCgBIT01FPS8AAFBBVEg9L3Vzci9iaW46L2JpbjovdXNyL3NiaW46L3NiaW4A
AFNIRUxMPS9iaW4vc2gAAABVU0VSPXJvb3QAAAAKUGxlYXNlIHByZXNzIEVudGVyIHRvIGFjdGl2
YXRlIHRoaXMgY29uc29sZS4gAAANZGV2aWNlICclcycgZG9lcyBub3QgZXhpc3QuCgAAAA1CdW1t
ZXIsIGNhbid0IG9wZW4gJXMKAENhbid0IGZvcmshCgAAAAANQ2FuJ3QgZm9yayEKAAAAfmAhJF4m
KigpPXxce31bXTsiJzw+PwAAL2Jpbi9zaAAtYwAAZXhlYyAAAAAgCQAAbWFsbG9jIGZhaWxlZAAA
AFdhaXRpbmcgZm9yIGVudGVyIHRvIHN0YXJ0ICclcycgKHBpZCAlZCwgdGVybWluYWwgJXMpCgAA
U3RhcnRpbmcgcGlkICVkLCBjb25zb2xlICVzOiAnJXMnCgAADUJ1bW1lciwgY291bGQgbm90IHJ1
biAnJXMnOiAlcwoAAAAAL3Zhci91cGdyYWRlcgAAAAoNRmFpbGVkIHRvIHN0YXJ0IHRoZSBOU1Ag
dXBncmFkZXIuCgAAAAAKDVRoZSBzeXN0ZW0gaXMgZ29pbmcgZG93biBOT1cgISEKAAANU2VuZGlu
ZyBTSUdURVJNIHRvIGFsbCBwcm9jZXNzZXMuCgANU2VuZGluZyBTSUdLSUxMIHRvIGFsbCBwcm9j
ZXNzZXMuCgANVHJ5aW5nIHRvIHJlLWV4ZWMgJXMKAAANZXhlYyBvZiAnJXMnIGZhaWxlZDogJXMK
AAAADVRoZSBzeXN0ZW0gaXMgaGFsdGVkLiBQcmVzcyAlcyBvciB0dXJuIG9mZiBwb3dlcgoAAFJl
c2V0AAAAQ1RSTC1BTFQtREVMAAAAAA1QbGVhc2Ugc3RhbmQgYnkgd2hpbGUgcmVib290aW5nIHRo
ZSBzeXN0ZW0uCgAAAA1NZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgAvZXRjL2luaXR0YWIAAAAA
cgAAAC9zYmluL3JlYm9vdAAAAAAvYmluL3Vtb3VudCAtYSAtcgAAAC9zYmluL3N3YXBvZmYgLWEA
AAAAL3NiaW4vaW5pdAAALS9iaW4vc2gAAAAAL2V0Yy9pbml0LmQvcmNTAA1CYWQgaW5pdHRhYiBl
bnRyeTogJXMKAC9kZXYvAAAALXEAAGluaXQAAAAAbGludXhyYwBubyBwcm9jZXNzIGtpbGxlZAAA
AC8AAAANaW5pdCBzdGFydGVkOiAgJXMKAHNpbmdsZQAALXMAADEAAAANTm8gbW9yZSB0YXNrcyBm
b3IgaW5pdCAtLSBzbGVlcGluZyBmb3JldmVyLgoAAABQcm9jZXNzICclcycgKHBpZCAlZCkgZXhp
dGVkLiAgU2NoZWR1bGluZyBpdCBmb3IgcmVzdGFydC4KAAAAAAAAAAAAAAEAAAAkSWQ6IGluc21v
ZC5jLHYgMS4xLjEuMSAyMDAzLzExLzI1IDIyOjEzOjU3IGpoYXJyZWxsIEV4cCAkAAAAAABAAQAA
AAIAAAAEAAAACAAAABAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAEAAAAkSWQ6IGluc21vZC5jLHYg
MS4xLjEuMSAyMDAzLzExLzI1IDIyOjEzOjU3IGpoYXJyZWxsIEV4cCAkAAAgAAAAdiA9PSBsLT52
YWx1ZQAAAC9yb290L05TUDM2MC9uc3BfMzYwYy9zcmMvYnVzeWJveC9tb2R1dGlscy9pbnNtb2Qu
YwBhcmNoX2FwcGx5X3JlbG9jYXRpb24AAABXYXJuaW5nOiB1bmhhbmRsZWQgcmVsb2MgJWQKAAAA
AAAAAAC0XEDwjFxA8AxbQPCMXEDwIFtA8HBbQPCkW0DwJXMgbXVsdGlwbHkgZGVmaW5lZABsb2Nh
bCBzeW1ib2wgJXMgd2l0aCBpbmRleCAlbGQgZXhjZWVkcyBsb2NhbF9zeW10YWJfc2l6ZSAlbGQA
AAAALmluaXQAAAAubW9kaW5mbwAAAABzeW1ib2wgZm9yIHBhcmFtZXRlciAlcyBub3QgZm91bmQA
AABpbXByb3Blcmx5IHRlcm1pbmF0ZWQgc3RyaW5nIGFyZ3VtZW50IGZvciAlcwAAAADkbUDw5G1A
8ORtQPDkbUDw5G1A8ORtQPDkbUDw5G1A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDw
TG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBM
bkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8ExuQPBMbkDwTG5A8Exu
QPBMbkDwTG5A8ExuQPBMbkDwkG1A8JxtQPBMbkDwTG5A8KhtQPC0bUDwTG5A8ExuQPBMbkDwTG5A
8ExuQPBMbkDwTG5A8MBtQPBMbkDwTG5A8ExuQPDMbUDwTG5A8NhtQPBwYXJtXwAAAGludmFsaWQg
cGFyYW1ldGVyICVzAAAAAAAAAABwYXJhbWV0ZXIgdHlwZSAnYycgZm9yICVzIG11c3QgYmUgZm9s
bG93ZWQgYnkgdGhlIG1heGltdW0gc2l6ZQAAc3RyaW5nIHRvbyBsb25nIGZvciAlcyAobWF4ICVs
ZCkAAAAAdW5rbm93biBwYXJhbWV0ZXIgdHlwZSAnJWMnIGZvciAlcwAAdG9vIG1hbnkgdmFsdWVz
IGZvciAlcyAobWF4ICVkKQBpbnZhbGlkIGFyZ3VtZW50IHN5bnRheCBmb3IgJXMAAHRvbyBmZXcg
dmFsdWVzIGZvciAlcyAobWluICVkKQAAmHNA8JhzQPCYc0DwmHNA8JhzQPCYc0DwmHNA8JhzQPAA
dEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0
QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA
8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8ERzQPBQc0Dw
AHRA8AB0QPBcc0DwaHNA8AB0QPAAdEDwAHRA8AB0QPAAdEDwAHRA8AB0QPB0c0DwAHRA8AB0QPAA
dEDwgHNA8AB0QPCMc0DwAAAAABx3QPDwdkDw8HZA8PB2QPDwdkDw8HZA8PB2QPDwdkDw8HZA8LR2
QPC0dkDw8HZA8PB2QPC0dkDw8HZA8PB2QPDwdkDw8HZA8PB2QPDwdkDw8HZA8PB2QPDwdkDw8HZA
8PB2QPDwdkDw8HZA8PB2QPDwdkDw8HZA8PB2QPDwdkDwtHZA8PB2QPDwdkDw8HZA8PB2QPDwdkDw
8HZA8PB2QPDwdkDw8HZA8PB2QPDwdkDwwHZA8FFNX01PRFVMRVMAAHF1ZXJ5X21vZHVsZTogUU1f
SU5GTzogJXMAAABxdWVyeV9tb2R1bGU6IFFNX1NZTUJPTFM6ICVzAAAAAGtlcm5lbDogUU1fU1lN
Qk9MUwAAVXNpbmdfVmVyc2lvbnMAAC50aGlzAAAAX190aGlzX21vZHVsZQAAAC5rbW9kdGFiAAAA
AF9fa3N5bXRhYgAAAGNvcnJ1cHQgbW9kdWxlICVzPwAAaW5pdF9tb2R1bGUAY2xlYW51cF9tb2R1
bGUAAF9fZXhfdGFibGUAAC50ZXh0LmluaXQAAC5kYXRhLmluaXQAAF9fZGJlX3RhYmxlAF9fa2Fs
bHN5bXMAAGluaXRfbW9kdWxlOiAlcwAua3N0cnRhYgAAAAB1bnJlc29sdmVkIHN5bWJvbCAlcwAA
AAAuYnNzAAAAAFJlbG9jYXRpb24gb3ZlcmZsb3cARGFuZ2Vyb3VzIHJlbG9jYXRpb24AAAAAVW5o
YW5kbGVkIHJlbG9jYXRpb24AAAAAJXMgb2YgdHlwZSAlbGQgZm9yICVzAAAAJXMgb2YgdHlwZSAl
bGQAAGVycm9yIHJlYWRpbmcgRUxGIGhlYWRlcgAAAABub3QgYW4gRUxGIGZpbGUARUxGIGZpbGUg
bm90IGZvciB0aGlzIGFyY2hpdGVjdHVyZQAARUxGIGZpbGUgbm90IGEgcmVsb2NhdGFibGUgb2Jq
ZWN0AAAAc2VjdGlvbiBoZWFkZXIgc2l6ZSBtaXNtYXRjaDogJWx1ICE9ICVsdQAAAABlcnJvciBy
ZWFkaW5nIEVMRiBzZWN0aW9uIGhlYWRlcnMAAABlcnJvciByZWFkaW5nIEVMRiBzZWN0aW9uIGRh
dGEAAFJFTEEgcmVsb2NhdGlvbnMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIGFyY2hpdGVjdHVyZQBj
YW4ndCBoYW5kbGUgc2VjdGlvbnMgb2YgdHlwZSAlbGQAAABzeW1ib2wgc2l6ZSBtaXNtYXRjaDog
JWx1ICE9ICVsdQAAAAByZWxvY2F0aW9uIGVudHJ5IHNpemUgbWlzbWF0Y2g6ICVsdSAhPSAlbHUA
ANSXQPDwlkDwAJdA8ACXQPCYl0DwwJdA8MCXQPDUl0Dw1JdA8ACXQPBrZXJuZWxfdmVyc2lvbgAA
Zmtxc3Z4TG86AAAAJXM6IG1vZHVsZSBuYW1lIHRvbyBsb25nAAAAAC5vAAByAAAAJXMvJXMAAAAv
bGliL21vZHVsZXMAAAAAJXM6IG5vIG1vZHVsZSBieSB0aGF0IG5hbWUgZm91bmQAAAAAVXNpbmcg
JXMKAAAAQ291bGQgbm90IGxvYWQgdGhlIG1vZHVsZQAAAE5vdCBjb25maWd1cmVkIHRvIHN1cHBv
cnQgb2xkIGtlcm5lbHMAAABBIG1vZHVsZSBuYW1lZCAlcyBhbHJlYWR5IGV4aXN0cwAAAABDYW4n
dCBhbGxvY2F0ZSBrZXJuZWwgbWVtb3J5IGZvciBtb2R1bGU7IG5lZWRlZCAlbHUgYnl0ZXMAAABj
cmVhdGVfbW9kdWxlOiAlcwAAADicQPAknEDwJJxA8CScQPAknEDwJJxA8CScQPAknEDwJJxA8CSc
QPAknEDwJJxA8CScQPAknEDwJJxA8CScQPAknEDwJJxA8CScQPAknEDwJJxA8CScQPAknEDwJJxA
8CScQPAknEDwVJtA8CScQPAknEDwJJxA8CScQPBwm0DwJJxA8CScQPAknEDw3JtA8CScQPCom0Dw
JJxA8DicQPAknEDwJJxA8IybQPAknEDwxJtA8AAAAABNb2R1bGUgICAgICAgICAgICAgICAgICBT
aXplICBVc2VkIGJ5AAAAL3Byb2MvbW9kdWxlcwAAAAAAAAAAAAAAL2xpYi9tb2R1bGVzLwAAAC9t
b2R1bGVzLmRlcAAAAAAvZXRjL21vZHVsZXMuY29uZgAAAC9ldGMvY29uZi5tb2R1bGVzAAAAYWxp
YXMAAABvZmYAbnVsbAAAAABpbnNtb2QgJXMgJXMgJXMgJXMgMj4vZGV2L251bGwAAC1zAAAAAAAA
LWsAAC1xAABybW1vZCAlcyAlcyAyPi9kZXYvbnVsbAAlcwoAR290IGFsaWFzOiAlcyAtPiAlcwoA
AAAAIAAAAC1hAABhY2RrbG5xcnN0OnZWQzoALXQgYW5kIC1DIG5vdCBzdXBwb3J0ZWQAY291bGQg
bm90IHBhcnNlIG1vZHVsZXMuZGVwCgAAAABObyBtb2R1bGUgb3IgcGF0dGVybiBwcm92aWRlZAoA
AKC3QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDw
vLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPC8
uEDwvLhA8NC4QPC8uEDw+LlA8NC4QPC8uEDwvLhA8Ly4QPC8uEDwvLhA8Ly4QPDEt0Dw+LlA8Ly4
QPD0t0DwvLhA8Ly4QPAkuEDwVLhA8Fy4QPCgt0DwvLhA8Iy4QPBhAAAAcm1tb2QAAAAlcwAAeW91
IG11c3QgYmUgcm9vdCB0byBjaGFuZ2UgdGhlIGhvc3RuYW1lAHNldGhvc3RuYW1lAHIAAABkZmlz
RjoAAAAAAAAlcyAACgAAAAAAAABcvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBw
vkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+
QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBUvkDwcL5A8FS+QPBwvkDwcL5A8FS+QPBwvkDwcL5A
8HC+QPBwvkDwcL5A8HC+QPBwvkDwcL5A8HC+QPBUvkDwAAAAAAAAAABTSU9DU0lGQUREUgBTSU9D
U0lGQlJEQUREUgAAU0lPQ1NJRk5FVE1BU0sAAFNJT0NTSUZEU1RBRERSAABTSU9DU0lGVFhRTEVO
AAAAU0lPQ1NJRkFTWU1NVFUAAFNJT0NTSUZNVFUAAFNJT0NTSUZNRVRSSUMAAABkb3duAAAAAHVw
AABkeW5hbWljAGFsbG11bHRpAAAAAG11bHRpY2FzdAAAAHByb21pc2MAdHJhaWxlcnMAAAAAYXJw
AHBvaW50b3BvaW50AGJyb2FkY2FzdAAAAG5ldG1hc2sAZHN0YWRkcgB0eHF1ZXVlbGVuAABhc3lt
bXR1AG10dQBtZXRyaWMAAC1hAABzb2NrZXQAAFNJT0NHSUZGTEFHUwAAAABTSU9DU0lGRkxBR1MA
AAAAOAAAADwAAABMAAAAvP8AAAEAAAABAAAACi0tLSAlcyBwaW5nIHN0YXRpc3RpY3MgLS0tCgAA
AAAlbGQgcGFja2V0cyB0cmFuc21pdHRlZCwgAAAAJWxkIHBhY2tldHMgcmVjZWl2ZWQsIAAAJWxk
IGR1cGxpY2F0ZXMsIAAAAAAlbGQlJSBwYWNrZXQgbG9zcwoAAHJvdW5kLXRyaXAgbWluL2F2Zy9t
YXggPSAlbHUuJWx1LyVsdS4lbHUvJWx1LiVsdSBtcwoAAAAAc2VuZHRvAABwaW5nIHdyb3RlICVk
IGNoYXJzOyAlZCBleHBlY3RlZAAAAABFY2hvIFJlcGx5AABEZXN0aW5hdGlvbiBVbnJlYWNoYWJs
ZQBTb3VyY2UgUXVlbmNoAAAAUmVkaXJlY3QgKGNoYW5nZSByb3V0ZSkARWNobyBSZXF1ZXN0AAAA
AFRpbWUgRXhjZWVkZWQAAABQYXJhbWV0ZXIgUHJvYmxlbQAAAFRpbWVzdGFtcCBSZXF1ZXN0AAAA
VGltZXN0YW1wIFJlcGx5AEluZm9ybWF0aW9uIFJlcXVlc3QASW5mb3JtYXRpb24gUmVwbHkAAABB
ZGRyZXNzIE1hc2sgUmVxdWVzdAAAAABBZGRyZXNzIE1hc2sgUmVwbHkAAHVua25vd24gSUNNUCB0
eXBlAAAAAAAAAHDMQPB0zUDwdM1A8ITMQPCYzEDwrMxA8HTNQPB0zUDwwMxA8HTNQPB0zUDw1MxA
8OjMQPD8zEDwEM1A8CTNQPA4zUDwTM1A8GDNQPAlZCBieXRlcyBmcm9tICVzOiBpY21wX3NlcT0l
dQAAACB0dGw9JWQAIHRpbWU9JWx1LiVsdSBtcwAAAAAgKERVUCEpAAoAAABXYXJuaW5nOiBHb3Qg
SUNNUCAlZCAoJXMpAAAAdW5rbm93biBhZGRyZXNzIHR5cGU7IG9ubHkgQUZfSU5FVCBpcyBjdXJy
ZW50bHkgc3VwcG9ydGVkLgAAUElORyAlcyAoJXMpOiAlZCBkYXRhIGJ5dGVzCgAAAAByZWN2ZnJv
bQAAAABOT05FAAAAAC1uZXQAAAAALWhvc3QAAABjYW4ndCByZXNvbHZlICVzAAAAAG1ldHJpYwAA
bmV0bWFzawBjYW4ndCByZXNvbHZlIG5ldG1hc2sgJXMAAAAAZ3cAAGdhdGV3YXkAY2FuJ3QgcmVz
b2x2ZSBndyAlcwAlczogY2Fubm90IHVzZSBhIE5FVFdPUksgYXMgZ2F0ZXdheSEAAAAAbXNzAElu
dmFsaWQgTVNTLgAAAAB3aW5kb3cAAEludmFsaWQgd2luZG93LgBpcnR0AAAAAHJlamVjdAAAbW9k
AGR5bgByZWluc3RhdGUAAABkZXZpY2UAAGRldgBsbwAAbmV0bWFzayAlLjh4IGRvZXNuJ3QgbWFr
ZSBzZW5zZSB3aXRoIGhvc3Qgcm91dGUAYm9ndXMgbmV0bWFzayAlcwAAAABuZXRtYXNrIGRvZXNu
J3QgbWF0Y2ggcm91dGUgYWRkcmVzcwBzb2NrZXQAAFNJT0NERUxSVAAAAFNJT0NBRERSVAAAAC9w
cm9jL25ldC9yb3V0ZQByAAAAJWx4JWx4JVglZCVkJWQlbHglZCVkJWQAVW5zdXBvcnRlZCBrZXJu
ZWwgcm91dGUgZm9ybWF0CgBLZXJuZWwgSVAgcm91dGluZyB0YWJsZQoAAAAARGVzdGluYXRpb24g
ICAgIEdhdGV3YXkgICAgICAgICBHZW5tYXNrICAgICAgICAgRmxhZ3MgJXMgSWZhY2UKACAgTVNT
IFdpbmRvdyAgaXJ0dAAATWV0cmljIFJlZiAgICBVc2UAAAAlLTE2cyUtMTZzJS0xNnMlLTZzACU1
ZCAlLTVkICU2ZCAlcwoAAAAAJS02ZCAlLTJkICU3ZCAlcwoAAABBOm5lAAAAAGFkZABkZWwAZGVs
ZXRlAABmbHVzaAAAAAAAAAAAAAAAAAAAAE5vIHN1Y2ggdXNlcgAAAABGaWxlIGFscmVhZHkgZXhp
c3RzAFVua25vd24gdHJhbnNmZXIgSUQASWxsZWdhbCBURlRQIG9wZXJhdGlvbgAARGlzayBmdWxs
IG9yIGFsbG9jYXRpb24gZXJyb3IAAABBY2Nlc3MgdmlvbGF0aW9uAAAAAEZpbGUgbm90IGZvdW5k
AABVbmRlZmluZWQgZXJyb3IAAQAAAAIAAABzb2NrZXQAAHRvbyBsb25nIHJlbW90ZS1maWxlbmFt
ZQAAAABvY3RldAAAAHJlYWQAAAAAc2VuZAAAAAByZWN2ZnJvbQAAAAB0aW1lb3V0AGxhc3QgdGlt
ZW91dAAAAABzZWxlY3QAAHNlcnZlciBzYXlzOiAlcwB3cml0ZQAAAGdwbDpyOgAALQAAAGxvY2Fs
IGZpbGUAAAAAAAAAAAAAAAAAAAUAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdo
aWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAAAAAGJ1ZmZlciBvdmVyZmxvdwBjb250aW51
ZQAAAABxdWlldAAAAG91dHB1dC1kb2N1bWVudABoZWFkZXIAAHByb3h5AAAAY3FPOlA6WToAAAAA
b2ZmAGV4dHJhX2hlYWRlcnMgYnVmZmVyIHRvbyBzbWFsbChuZWVkICVpKQBmdHBfcHJveHkAAABo
dHRwX3Byb3h5AABpbmRleC5odG1sAABjYW5ub3Qgc3BlY2lmeSBjb250aW51ZSAoLWMpIHdpdGhv
dXQgYSBmaWxlbmFtZSAoLU8pAAAAAC0AAABhAAAAdwAAAGZzdGF0KCkAdG9vIG1hbnkgcmVkaXJl
Y3Rpb25zAAAAR0VUICVzdHA6Ly8lczolZC8lcyBIVFRQLzEuMQ0KAABmAAAAaHQAAEdFVCAvJXMg
SFRUUC8xLjENCgAASG9zdDogJXMNClVzZXItQWdlbnQ6IFdnZXQNCgAAAABBdXRob3JpemF0aW9u
OiBCYXNpYyAlcw0KAAAAUHJveHktQXV0aG9yaXphdGlvbjogQmFzaWMgJXMNCgBSYW5nZTogYnl0
ZXM9JWxkLQ0KAENvbm5lY3Rpb246IGNsb3NlDQoNCgAAAG5vIHJlc3BvbnNlIGZyb20gc2VydmVy
AHNlcnZlciByZXR1cm5lZCBlcnJvciAlZDogJXMAAAAAY29udGVudC1sZW5ndGgAAHRyYW5zZmVy
LWVuY29kaW5nAAAAY2h1bmtlZABzZXJ2ZXIgd2FudHMgdG8gZG8gJXMgdHJhbnNmZXIgZW5jb2Rp
bmcAbG9jYXRpb24AAAAAYW5vbnltb3VzOmJ1c3lib3hAAAAlcwAAUEFTUyAAAABmdHAgbG9naW46
ICVzAAAAVVNFUiAAAABDRFVQAAAAAFRZUEUgSQAAU0laRSAvAABQQVNWAAAAAFBBU1Y6ICVzAAAA
AFJFU1QgJWxkAAAAAFJFVFIgLwAAUkVUUjogJXMAAAAAd3JpdGUgZXJyb3IAbmV0d29yayByZWFk
IGVycm9yAABmdHAgZXJyb3I6ICVzAAAAUVVJVAAAAABodHRwOi8vAGZ0cDovLwAAbm90IGFuIGh0
dHAgb3IgZnRwIHVybDogJXMAAAAAAAAlZAAAcisAAGZkb3BlbigpAAAAAGJhZCBoZWFkZXIgbGlu
ZTogJXMAJXMlcwoAAABmZ2V0cygpACBLTUdUUAAADSUtMjAuMjBzICUzZCUlIAAAAAB8JS4qcyUq
c3wAAAAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAAAgJTVkICVjJWMg
AAAgLSBzdGFsbGVkIC0AAAAAICAgLS06LS0gRVRBAAAAACUyZDoAAAAAICAgACUwMmQ6JTAyZCBF
VEEAAAAAAAAAgIQuQSU2cyUxM3MlMTNzJTEzcyUxM3MlMTNzCgAAAAAAAAAAdG90YWwAAAB1c2Vk
AAAAAGZyZWUAAAAAc2hhcmVkAABidWZmZXJzACU2cyUxM2xkJTEzbGQlMTNsZCUxM2xkJTEzbGQK
AAAATWVtOgAAAAAlNnMlMTNsZCUxM2xkJTEzbGQKAFN3YXA6AAAAVG90YWw6AAAAAAAAAAAAAAAA
AAAAAAAAAQAAACVzCgAlMmQpICUtMTZzAAAKAAAAYmFkIHNpZ25hbCBuYW1lOiAlcwBCYWQgUElE
AENvdWxkIG5vdCBraWxsIHBpZCAnJWQnAE8AAABOYW1lOgklMTVjAABTdGF0ZQAAAFN0YXRlOgkl
YwAAAFBpZDoAAAAAUGlkOgklZApQUGlkOgklZAoAAABJbnRlcm5hbCBlcnJvciEAVWlkOgAAAABV
aWQ6CSVkAFZtU2l6ZToAVm1TaXplOgklZAAAL3Byb2MAAABDYW4ndCBvcGVuIC9wcm9jAAAAACAg
UElEICBVaWQgICAgIFZtU2l6ZSBTdGF0IENvbW1hbmQKAC9wcm9jLyVzL3N0YXR1cwAlZAAAL3By
b2MvJXMvY21kbGluZQAAAAByAAAAJTVkICUtOHMgICAgICAgICVjICAgIAAAJTVkICUtOHMgJTZk
ICVjICAgIABbJXNdAAAAAAAAAAAAAAAAAAAAAApMb2dpbiB0aW1lZCBvdXQgYWZ0ZXIgJWQgc2Vj
b25kcy4KAGY6aDpwAAAALWYgcGVybWlzc2lvbiBkZW5pZWQAAAAAL2Rldi8AAABVTktOT1dOACBv
biBgJS4xMDBzJyBmcm9tIGAlLjIwMHMnAAAgb24gYCUuMTAwcycAAAAAbG9naW4AAAAhAAAATG9n
aW4gaW5jb3JyZWN0AGludmFsaWQgcGFzc3dvcmQgZm9yIGAlcyclcwoAAAAAL2Rldi8lcwB1bmFi
bGUgdG8gZGV0ZXJtaW5lIFRUWSBuYW1lLCBnb3QgJXMKAAAAcm9vdCBsb2dpbiAlcwoAAApCdXN5
Qm94IG9uICVzIGxvZ2luOiAAAHIAAAANClN5c3RlbSBjbG9zZWQgZm9yIHJvdXRpbmUgbWFpbnRl
bmFuY2UuDQAAAA0KW0Rpc2Nvbm5lY3QgYnlwYXNzZWQgLS0gcm9vdCBsb2dpbiBhbGxvd2VkLl0N
AE5vIHV0bXAgZW50cnkuICBZb3UgbXVzdCBleGVjICJsb2dpbiIgZnJvbSB0aGUgbG93ZXN0IGxl
dmVsICJzaCIAAAAAVW5hYmxlIHRvIGRldGVybWluZSB5b3VyIHR0eSBuYW1lLgAATE9HSU4AAAAv
dmFyL2xvZy93dG1wAAAAAAAAAAAAAAAAAAAAbWQ1ACVzAAByKwAAJXM6ICVzCgAlcy0AJXMrAHcA
AAAlczoAJXM6JXMlcwBwYXNzd2QAAGE6ZGx1AAAAQ2Fubm90IGRldGVybWluZSB5b3VyIHVzZXIg
bmFtZS4KAAAAVW5rbm93biB1c2VyICVzCgAAAABjYW4ndCBjaGFuZ2UgcHdkIGZvciBgJXMnAAAA
UGVybWlzc2lvbiBkZW5pZWQuCgBwYXNzd29yZCBsb2NrZWQgZm9yIGAlcycAAAAAVGhlIHBhc3N3
b3JkIGZvciBgJXMnIGNhbm5vdCBiZSBjaGFuZ2VkLgoAAABDaGFuZ2luZyBwYXNzd29yZCBmb3Ig
JXMKAAAAVGhlIHBhc3N3b3JkIGZvciAlcyBpcyB1bmNoYW5nZWQuCgAAY2FuJ3Qgc2V0dWlkKDAp
AENhbm5vdCBjaGFuZ2UgSUQgdG8gcm9vdC4KAABwYXNzd29yZCBmb3IgYCVzJyBjaGFuZ2VkIGJ5
IHVzZXIgYCVzJwAAUGFzc3dvcmQgY2hhbmdlZC4KAABhbiBlcnJvciBvY2N1cnJlZCB1cGRhdGlu
ZyB0aGUgcGFzc3dvcmQgZmlsZQAAAABBbiBlcnJvciBvY2N1cnJlZCB1cGRhdGluZyB0aGUgcGFz
c3dvcmQgZmlsZS4KAABPbGQgcGFzc3dvcmQ6AAAAaW5jb3JyZWN0IHBhc3N3b3JkIGZvciBgJXMn
AEluY29ycmVjdCBwYXNzd29yZC4KAAAAAEVudGVyIHRoZSBuZXcgcGFzc3dvcmQgKG1pbmltdW0g
b2YgNSwgbWF4aW11bSBvZiA4IGNoYXJhY3RlcnMpClBsZWFzZSB1c2UgYSBjb21iaW5hdGlvbiBv
ZiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzIGFuZCBudW1iZXJzLgpFbnRlciBuZXcgcGFz
c3dvcmQ6IAAAAApXYXJuaW5nOiB3ZWFrIHBhc3N3b3JkIChjb250aW51aW5nKS4KAABSZS1lbnRl
ciBuZXcgcGFzc3dvcmQ6IABQYXNzd29yZHMgZG8gbm90IG1hdGNoLgoAAAAAJDEkAAAAAAAAAAAA
AAAAAHFxdWlldHByb2ZpbGUAAAB1bm91bnNldAAAAABibm90aWZ5AGFhbGxleHBvcnQAAENub2Ns
b2JiZXIAAEVlbWFjcwAAVnZpAHZ2ZXJib3NlAAAAAHh4dHJhY2UAc3N0ZGluAABubm9leGVjAG1t
b25pdG9yAAAAAGlpbnRlcmFjdGl2ZQAAAABJaWdub3JlZW9mAABmbm9nbG9iAGVlcnJleGl0AAAA
AA0ODg4NAAAAAQEBAQAMDAAEBQAEBwcABwMABQMNAAAJDQAACgICDAIGBgAGCAgACAkKICEiJCYn
KCkqLS86Ozw9Pj9bXF1gfH1+AAABAgEDBAUBBgcIAwMDAwEBAwEDAwkDCgELAwAAAX0AAAB7AAAA
d2hpbGUAAAB1bnRpbAAAAXRoZW4AAAAAaW4AAGlmAABmb3IAAAAAAWZpAAFlc2FjAAAAAWVsc2UA
AAABZWxpZgAAAAFkb25lAAAAAWRvAABjYXNlAAAAACEAAAFgAAABOzsAASkAAAAoAAAAfAAAAHx8
AAAmJgAAJgAAADsAAABhc3NpZ25tZW50AAB3b3JkAAAAAHJlZGlyZWN0aW9uAAAAAABuZXdsaW5l
AAAAAAFlbmQgb2YgZmlsZQAAAAAlcyVjAAAAACAAAAAlcwoAUEFUSD0vdXNyL2xvY2FsL3NiaW46
L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4AAABJRlM9IAkKAE9Q
VElORD0xAAAAAFBTMj0+IAAATUFJTFBBVEg9AAAATUFJTD0AAAAyd2FpdAAAADF1bnNldAAAMnVt
YXNrAAAwdWxpbWl0ADB0eXBlAAAAMnRydWUAAAAxdHJhcAAAADF0aW1lcwAAMXNoaWZ0AAAwc2V0
dmFyADFzZXQAAAAAMXJldHVybgA1cmVhZG9ubHkAAAAycmVhZAAAADBwd2QAAAAANGxvY2FsAAAy
a2lsbAAAADJqb2JzAAAAMGhlbHAAAAAwaGFzaAAAADJmZwAyZmMAMmZhbHNlAAA1ZXhwb3J0ADFl
eGl0AAAAMWV4ZWMAAAAxZXZhbAAAADFjb250aW51ZQAAADBjaGRpcgAAMmNkADFidWlsdGluAAAA
ADFicmVhawAAMmJnADE6AAAxLgAASE9NRQAAAABIT01FIG5vdCBzZXQAAAAALgAAAE9MRFBXRAAA
Q0RQQVRIAABjYW4ndCBjZCB0byAlcwAAUFdEACVzOiAAAAAABAAHAA0ABwAFAAcAAgABAAIAAgAC
AAQAFAABABQAAgAUAAQAFQAHABEAAgAYAAcAFwAHABwABwBtBAcAPwAHAAYABwAeAAcAGgAHAAsA
BAAMAAcAQwAHAEoABwBGAAcAlwAHAJEABwBaAAcABwAEAFMABABlcnJvciAlZAAAAABQaXBlIGNh
bGwgZmFpbGVkAAAAACVzOiBub3QgZm91bmQKAABjb21tYW5kAC1wAABfAAAAJXMgaXMgYSBzcGVj
aWFsIGJ1aWx0LWluCgAAAIx+QfAci0HwQIdB8LR/QfBEgEHwRIBB8Nx+QfBIf0HwcIBB8BCBQfAQ
gUHwEINB8DyDQfBEi0HwoIRB8ESLQfBEi0HwRItB8ESLQfBEi0HwRItB8ESLQfBEi0HwRItB8ESL
QfDshkHwSWxsZWdhbCBudW1iZXI6ICVzAAAKCkJ1c3lCb3ggdjAuNjEucHJlICgyMDA1LjAzLjE4
LTE2OjA3KzAwMDApIEJ1aWx0LWluIHNoZWxsIChhc2gpCgAAAEVudGVyICdoZWxwJyBmb3IgYSBs
aXN0IG9mIGJ1aWx0LWluIGNvbW1hbmRzLgoKACAlcwAlczogJXMAAENhbid0IG9wZW4gJXMAAABP
dXQgb2YgZmlsZSBkZXNjcmlwdG9ycwBydlYAJXMgaXMgYSBzaGVsbCBrZXl3b3JkCgAAJXMlcwAA
AAAgaXMgAAAAAAAAAABhIHNoZWxsIGJ1aWx0aW4AYSBmdW5jdGlvbgoAJXMoKSB7CiAlcwp9AAAA
ACoAAAAKQnVpbHQtaW4gY29tbWFuZHM6Ci0tLS0tLS0tLS0tLS0tLS0tLS0KAAAAACVjJXMAAAAA
CgAAAAoKAABidWlsdGluAGZ1bmMAAAAAJXMgbm90IGRlZmluZWQgaW4gJXMAAAAAJXM6ICVzCgBQ
QVRIAAAAAAwUDAwMDAwMEAwMEAwQEBAUFBQUFBQUEBAIAAB2AAAAhMdB8NzHQfDcx0HwlMlB8JTJ
QfAMyEHwDMhB8AzIQfAMyEHwOMdB8CUuKnM6IHBhcmFtZXRlciAlc25vdCBzZXQAAABudWxsIG9y
IAAAAACg2EHwNNhB8FTZQfDM2UHwdNpB8BDbQfBPdXQgb2Ygc3BhY2UAAAAAgYgAACVkAABub3Qg
Y29tcGlsZWQgd2l0aCBoaXN0b3J5IHN1cHBvcnQAAABQUElEAAAAAHNoOiB0dXJuaW5nIG9mZiBO
REVMQVkgbW9kZQoAAAAAc2g6IGNhbid0IGFjY2VzcyB0dHk7IGpvYiBjb250cm9sIHR1cm5lZCBv
ZmYKAAAAVXNhZ2U6IGtpbGwgWy1zIHNpZ3NwZWMgfCAtc2lnbnVtIHwgLXNpZ3NwZWNdIFtwaWQg
fCBqb2JdLi4uIG9yCmtpbGwgLWwgW2V4aXRzdGF0dXNdAAAAAGxzOgBpbnZhbGlkIHNpZ25hbCBu
dW1iZXIgb3IgbmFtZTogJXMAAAAwCgAAaW52YWxpZCBzaWduYWwgbnVtYmVyIG9yIGV4aXQgc3Rh
dHVzOiAlcwAAAABqb2IgJXMgbm90IGNyZWF0ZWQgdW5kZXIgam9iIGNvbnRyb2wAAAAAJXM6ICVt
AABqb2Igbm90IGNyZWF0ZWQgdW5kZXIgam9iIGNvbnRyb2wAAABbJWRdICVsZCAAAAAgICAgJWxk
IAAAAABFeGl0ICVkAFNpZ25hbCAlZAAAACAoY29yZSBkdW1wZWQpAAAlKmMlcwoAAE5vIGN1cnJl
bnQgam9iAAAlczogYW1iaWd1b3VzAAAATm8gc3VjaCBqb2I6ICVzAC9kZXYvbnVsbAAAAENhbm5v
dCBmb3JrAHRjc2V0cGdycCBmYWlsZWQsIGVycm5vPSVkAAB0Y3NldHBncnAgZmFpbGVkLCBlcnJu
bz0lZAoAJWQ6IAAAAAAlJSVsZCAAACAtIGNvcmUgZHVtcGVkAABZb3UgaGF2ZSBzdG9wcGVkIGpv
YnMuCgB9LSs/PQAAADw8Li4uAAAAKCkgLi4uAAA/Pz8AY2FzZSAAAAAgaW4gLi4uAGZvciAAAAAA
dW50aWwgAAA7IGRvbmUAADsgZG8gAAAAd2hpbGUgAAAuLi4AOyB0aGVuIABpZiAAIHx8IAAAAAAg
JiYgAAAAACkAAAAoAAAAOyAAADwmAAA+JgAAPnwAAD4+AAA8PgAAPAAAAD4AAAAEgAnABYIEhQSG
CQSICYoEjAiPkASSCJWWBJIIlZhMm59IoUmjAAAAAAMDBAQFCAsOExgdAyAhIwMDAwMDAwMkJCAA
ACB8IABleGVjAAAAAGV2YWwAAAAAUFMxAFBTMgAvZXRjL3Byb2ZpbGUAAAAALnByb2ZpbGUAAAAA
RU5WAAIDARgNAAAAClVzZSAiZXhpdCIgdG8gbGVhdmUgc2hlbGwuCgAAAAAlczogbm90IGZvdW5k
AAAAcDpyAGFyZyBjb3VudAAAAElGUwB1Z28Acnd4AAABgABAACAAEAAIAAQAAgABAAAAUwAAACUu
NG8KAAAASWxsZWdhbCBtb2RlOiAlcwAAAABub2ZpbGVzKGRlc2NyaXB0b3JzKQAAAABwcm9jZXNz
KHByb2Nlc3NlcykAAGxvY2tlZCBtZW1vcnkoa2J5dGVzKQAAAG1lbW9yeShrYnl0ZXMpAABjb3Jl
ZHVtcChibG9ja3MpAAAAAHN0YWNrKGtieXRlcykAAABkYXRhKGtieXRlcykAAAAAZmlsZShibG9j
a3MpAAAAAHRpbWUoc2Vjb25kcykAAAB1bmxpbWl0ZWQAAABIU2F0ZmRzY21scG4AAAAAdG9vIG1h
bnkgYXJndW1lbnRzAABiYWQgbnVtYmVyAAAlLTIwcyAAACVsbGQKAAAAZXJyb3Igc2V0dGluZyBs
aW1pdCAoJW0pAAAAACcAAAAIBRAMCEWIRQgFDAgFzAgFCAUMCAWMyAUMSAUQTEgFDEgFBQAAAgYI
CAgAAAoAAA0QEhUVGBgYGBgbGx8fIgAAQ3VycmVudCBvcHRpb24gc2V0dGluZ3MKAAAAACUtMTZz
JXMKAAAAAG9uAABvZmYASWxsZWdhbCBvcHRpb24gLW8gJXMAAAAAQmFkIC1jIG9wdGlvbgAAAGxv
Z2luAAAASWxsZWdhbCBvcHRpb24gLSVjAABjYW4ndCBzaGlmdCB0aGF0IG1hbnkAAABObyBhcmcg
Zm9yIC0lYyBvcHRpb24AAABCYWQgZm9yIGxvb3AgdmFyaWFibGUAAABleHBlY3RpbmcgImluIgAA
LHxC8Cx8QvCsfELwXHxC8Kx8QvAsfELwLHxC8Cx8QvAsfELwrHxC8CR7QvAsfELwrHxC8Kx8QvCs
fELwRHdC8Kx8QvCsfELwrHxC8Kx8QvCsfELwrHxC8PBzQvBYcELwrHxC8Kx8QvDMckLwzHJC8MB7
QvBCYWQgZmQgbnVtYmVyAAAASWxsZWdhbCBlb2YgbWFya2VyIGZvciA8PCByZWRpcmVjdGlvbgAA
AAooKSZ8OwAAAQoLBgkFAAcIDAAATWlzc2luZyAnKSknAAAAAFVudGVybWluYXRlZCBxdW90ZWQg
c3RyaW5nAABNaXNzaW5nICd9JwB9LSs/PQAAAEJhZCBzdWJzdGl0dXRpb24AAAAARU9GIGluIGJh
Y2txdW90ZSBzdWJzdGl0dXRpb24AAAAAAAAAJI9C8DiOQvDEj0Lw7JFC8ECSQvCYkkLwpJNC8Mya
QvBMk0LwsJNC8LCTQvAYlELwWI9C8LCTQvD0k0LwJXMgdW5leHBlY3RlZAAAACAoZXhwZWN0aW5n
ICVzKQAlczogJWQ6IAAAAABTeW50YXggZXJyb3I6ICVzCgAAAGNhbm5vdCBjcmVhdGUgJXM6ICVz
AAAAAGNhbm5vdCBvcGVuICVzOiAlcwAAJWQ6ICVtAACAsELwQLBC8HSwQvC0sULwqLFC8OyxQvDs
sULw9LFC8PSxQvB0cmFwIC0tICVzICVzCgAAJXM6IGJhZCB0cmFwAAAAAAAAAADkvkLwNL9C8Gy/
QvBsv0LwbL9C8Gy/QvBsv0LwbL9C8Gy/QvBsv0LwbL9C8Gy/QvBsv0LwNL9C8Gy/QvBsv0LwbL9C
8Gy/QvBsv0LwbL9C8Gy/QvBsv0LwTL9C8Gy/QvBsv0LwTL9C8FBTMT0kAAAAUFMxPSQgAABQUzE9
IyAAACUuKnM6IGJhZCB2YXJpYWJsZSBuYW1lACUuKnM6IGlzIHJlYWQgb25seQAAcAAAAE5vdCBp
biBhIGZ1bmN0aW9uAAAATGlzdCBhc3NpZ25tZW50IG5vdCBpbXBsZW1lbnRlZAB2ZgAAJXMlcyUu
KnMlcwoAJWRtJWZzICVkbSVmcwolZG0lZnMgJWRtJWZzCgAAAAAAAAAA+OBC8ETkQvDg4ELwsOBC
8ETkQvBE5ELwRORC8ETkQvBE5ELwIOJC8ETkQvBE5ELwTOFC8ETkQvBE5ELwCORC8ETkQvBE5ELw
RORC8ETkQvBE5ELwRORC8ETkQvBE5ELwRORC8ETkQvBE5ELwRORC8ETkQvBE5ELwyOBC8BDiQvAP
AAAAG1slZEQAAAAbWyVkQQAAABtbJWRDAAAAG1tKAFBBVEgAAAAAIGAiIyQlXiYqKCk9K3t9W106
Oyd8XDw+AAAAAC4AAAAAAAAAIAAAAC4vAAAuLi8AJS0xNHMgIAAbW0gAAAAAACwTQ/BgE0PwiBND
8OATQ/AoFEPwTBRD8OAZQ/BwFEPwlBRD8AgTQ/C8FEPwIBVD8AgTQ/CQFUPw4BlD8MgVQ/DgGUPw
4BlD8OAZQ/DgGUPwCBZD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPwqBZD8OAZQ/DgGUPw4BlD8OAZQ/Dg
GUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZ
Q/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD
8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw
4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/Dg
GUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZ
Q/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD
8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8OAZQ/DgGUPw4BlD8HAUQ/AAAAAATBdD8FwZQ/BcGUPw
XBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/Bc
GUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZ
Q/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8AQZQ/BcGUPw4BhD8DgZQ/BcGUPwXBlD
8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/BcGUPwXBlD8FwZQ/B0F0PwnBdD8JQYQ/C4GEPw
XBlD8DgZQ/BcGUPwBBlD8AAAAAAAAAAAJTJkJTJkJTJkJTJkJWQAACVkOiVkOiVkAAAAACVkOiVk
AAAAJWQuJWQtJWQ6JWQ6JWQAACVkLiVkLSVkOiVkACVkLiVkLiVkLSVkOiVkOiVkAAAAJWQuJWQu
JWQtJWQ6JWQAAFJzOnVkOgAAVFo9VVRDMABjYW5ub3Qgc2V0IGRhdGUAJWEsICVlICViICVZICVI
OiVNOiVTIEdNVAAAACVhLCAlZSAlYiAlWSAlSDolTTolUyAlegAAAAAlYSAlYiAlZSAlSDolTTol
UyAlWiAlWQAKAAAAJWYAACVZLiVtLiVkLSVIOiVNOiVTAAAAbmVFAAAAAAAAAAAAAAAAAHVncm4A
AAAAJWxkCgAAAAB1aWQ9JWxkKCVzKSBnaWQ9JWxkKCVzKQoAAAAAAAAAAHNsZWVwAAAAAAAAAAAA
AAApAAAAKAAAAC1vAAAtYQAAIQAAAC1lZgAtb3QALW50AC1sdAAtbGUALWd0AC1nZQAtbmUALWVx
AD4AAAA8AAAAIT0AAD0AAAAtUwAALUwAAC1HAAAtTwAALWgAAC1uAAAtegAALXQAAC1zAAAtawAA
LWcAAC11AAAtcAAALWIAAC1jAAAtZAAALWYAAC1lAAAteAAALXcAAC1yAABbAAAAXQAAAG1pc3Np
bmcgXQAAAHVua25vd24gb3BlcmFuZADAMEPw2DBD8AAxQ/BQMUPwDDJD8CVzOiAlcwAAJXMAAGFy
Z3VtZW50IGV4cGVjdGVkAAAAY2xvc2luZyBwYXJlbiBleHBlY3RlZAAAAAAAAOw+Q/AYP0PwRD9D
8HA/Q/BwP0PwcD9D8HA/Q/CEPEPwqDxD8Mw8Q/DwPEPwFD1D8GQ9Q/C0PUPwBD5D8FA+Q/CgPkPw
AAAAAERAQ/BQQEPwXEBD8CRBQ/CIQEPwkEBD8JhAQ/CgQEPwqEBD8LBAQ/AkQUPw0EBD8CRBQ/C4
QEPwwEBD8MhAQ/AkQUPwJEFD8CRBQ/DcQEPw/EBD8CVzOiBvdXQgb2YgcmFuZ2UAAAAAJXM6IGJh
ZCBudW1iZXIAAG5vdCBhIHR0eQAAAAAAAABjYW5ub3QgZmluZCB1c2VybmFtZSBmb3IgVUlEICV1
AHkAAAB5ZXMAAAAAAAAAAAAtAAAAAAAAAAAAAAAAAAAAYmluZAAAAABzeW5jAAAAAHN1aWQAAAAA
cncAAHJvAAByZW1vdW50AG5vc3VpZAAAbm9leGVjAABub2RpcmF0aW1lAABub2RldgAAAG5vYXRp
bWUAZXhlYwAAAABkaXJhdGltZQAAAABkZXYAbm9hdXRvAABkZWZhdWx0cwAAAABhdGltZQAAAGFz
eW5jAAAAJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkAAABwZXJtaXNz
aW9uIGRlbmllZC4gQXJlIHlvdSByb290PwAAAAAsAAAAYXV0bwAAAAAvcHJvYy9maWxlc3lzdGVt
cwAAAHIAAABNb3VudGluZyAlcyBvbiAlcyBmYWlsZWQAAAAAL2Rldi9yb290AAAAJXMgb24gJXMg
dHlwZSAlcyAoJXMpCgAAJXMAAAAAAABvOnJ0OndhZm52AAAvZXRjL2ZzdGFiAAAKQ2Fubm90IHJl
YWQgL2V0Yy9mc3RhYgBzd2FwAAAAAG5mcwBDYW4ndCBmaW5kICVzIGluIC9ldGMvZnN0YWIKAAAA
AIxVQ/CcVUPwnFVD8JxVQ/CcVUPwlFVD8JxVQ/CcVUPwnFVD8JxVQ/CcVUPwnFVD8JxVQ/CcVUPw
GFVD8JxVQ/CcVUPwUFVD8JxVQ/BkVUPwnFVD8JxVQ/B4VUPwAAAAAAAAAAAAAAAAAQAAAAAA7cAg
AAAAAQAAAHIAAABDYW5ub3Qgb3BlbiAlcwAAL2Rldi9yb290AAAAJXMgYnVzeSAtIHJlbW91bnRl
ZCByZWFkLW9ubHkAAABDYW5ub3QgcmVtb3VudCAlcyByZWFkLW9ubHkAcHJvYwAAAAAlcwAAQ291
bGRuJ3QgdW1vdW50ICVzIG9uICVzOiAlcwoAAAAAAAAAAAAAAAAAAAAlcyVzJXMAAC8AAAAlcwAA
dW5hYmxlIHRvIHN0YXQgYCVzJwBgJXMnIGFuZCBgJXMnIGFyZSB0aGUgc2FtZSBmaWxlACVzOiBv
bWl0dGluZyBkaXJlY3RvcnkAAGAlcycgaXMgbm90IGEgZGlyZWN0b3J5AGNhbm5vdCBjcmVhdGUg
ZGlyZWN0b3J5IGAlcycAAAAAdW5hYmxlIHRvIG9wZW4gZGlyZWN0b3J5IGAlcycAAAAuAAAALi4A
AHVuYWJsZSB0byBjbG9zZSBkaXJlY3RvcnkgYCVzJwAAdW5hYmxlIHRvIGNoYW5nZSBwZXJtaXNz
aW9ucyBvZiBgJXMnAAAAAHIAAAB1bmFibGUgdG8gb3BlbiBgJXMnACVzOiBvdmVyd3JpdGUgYCVz
Jz8gAAAAAHcAAAB1bmFibGUgdG8gcmVtb3ZlIGAlcycAAAB1bmFibGUgdG8gY2xvc2UgYCVzJwAA
AAB1bmFibGUgdG8gY3JlYXRlIGAlcycAAABjYW5ub3QgY3JlYXRlIGZpZm8gYCVzJwBjYW5ub3Qg
Y3JlYXRlIHN5bWxpbmsgYCVzJwAAdW5hYmxlIHRvIHByZXNlcnZlIG93bmVyc2hpcCBvZiBgJXMn
AAAAAGludGVybmFsIGVycm9yOiB1bnJlY29nbml6ZWQgZmlsZSB0eXBlAAB1bmFibGUgdG8gcHJl
c2VydmUgdGltZXMgb2YgYCVzJwAAAAB1bmFibGUgdG8gcHJlc2VydmUgcGVybWlzc2lvbnMgb2Yg
YCVzJwAAAAAAAAAAAAAAAAAAcmVhZAAAAABVbmFibGUgdG8gcmVhZCBhbGwgZGF0YQB3cml0ZQAA
AFVuYWJsZSB0byB3cml0ZSBhbGwgZGF0YQAAAAAAAAAAAAAAAAAAAAByAAAAAAAAAAAAAAAAAAAA
L3Byb2MAAABDYW5ub3Qgb3BlbiAvcHJvYwAAAC4uAAAvcHJvYy8lcy9zdGF0dXMAcgAAACUqcyAl
cwAAAAAAAC8AAABjb3VsZCBub3Qgc3RhdCAnLycAAC9kZXYAAAAAY291bGQgbm90IG9wZW4gJy9k
ZXYnAAAALi4AAC9kZXYvcm9vdAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAGNhbm5vdCBnZXQg
c3lzdGVtIGluZm9ybWF0aW9uAAAALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAA
AAQAAAAAAAAAAAAAAAIAAAABAACAAAAAQAAAACAAAAAQAAAACAAAAAQAAAACAAAAAQAAAHJ3eHJ3
eHJ3eAAAAC0tLS0tLS0tLQAAAC4ucy4ucy4udAAAAC4uUy4uUy4uVAAAADBwY0NkP2JCLT9sP3M/
Pz8AAAAAAAAAAC9wcm9jL21vdW50cwAAAAB1bmtub3duIGdyb3VwIG5hbWU6ICVzAAAAAAAAAAAA
ACUtOGxkIAAAAAAAAAAAAAB1bmtub3duIHVzZXIgbmFtZTogJXMAAAAAAAAAAAAAAHVua25vd24g
dXNlciBuYW1lOiAlcwAAAHVua25vd24gZ2lkICVsZAAAAAAAAAAAACUtOGxkIAAAAAAAAAAAAADA
CQAAOAQAAAcAAAD/DwAAJAEAAJIAAABJAAAAAAwAAAACAAB1Z29hAAAAAHJ3eHN0AAAAAAAAAAAA
AAAAAAAAaW52YWxpZCBudW1iZXIgYCVzJwAAAAAAAAAAAAAAAAAlczogSXMgZGlyZWN0b3J5AAAA
AHIAAAAAAAAAAAAAAGFiZm5ydHZcAAcIDAoNCQtcXAAAAAAAAAAAAAAAAAAAJXMAAC4uAAAuAAAA
AAAAACVzOiAAAAAAAAAAAAAAAAAAAAAAOiAAACVzJXMKAAAAJXMAAAAAAAAAAAAAAAAAAGdldGN3
ZCgpAAAAAAAAAABQAAAAJXM6JXMAAAAAAAAAeHJlZ2NvbXA6ICVzAAAAAFtOT05FIFNFVF0AAERB
UlBBIEludGVybmV0AABpbmV0AAAAACUwMlgtAAAAVU5TUEVDAAB1bnNwZWMAAC9wcm9jL25ldAAA
AE5vIHVzYWJsZSBhZGRyZXNzIGZhbWlsaWVzIGZvdW5kLgoAAHdhcm5pbmc6IG5vIGluZXQgc29j
a2V0IGF2YWlsYWJsZTogJXMKAABTSU9DR0lGQ09ORgAlTHUgJUx1ICVsdSAlbHUgJWx1ICVsdSAl
bHUgJWx1ICVMdSAlTHUgJWx1ICVsdSAlbHUgJWx1ICVsdSAlbHUAJUx1ICVMdSAlbHUgJWx1ICVs
dSAlbHUgJUx1ICVMdSAlbHUgJWx1ICVsdSAlbHUgJWx1ACVMdSAlbHUgJWx1ICVsdSAlbHUgJUx1
ICVsdSAlbHUgJWx1ICVsdSAlbHUAY29tcHJlc3NlZAAAYnl0ZXMAAAAvcHJvYy9uZXQvZGV2AAAA
cgAAAFdhcm5pbmc6IGNhbm5vdCBvcGVuICVzICglcykuIExpbWl0ZWQgb3V0cHV0LgoAAERldmlj
ZSBub3QgZm91bmQAAAAAJXM6IGVycm9yIGZldGNoaW5nIGludGVyZmFjZSBpbmZvcm1hdGlvbjog
JXMKAAAATG9jYWwgTG9vcGJhY2sAAGxvb3AAAAAAJTAyWDolMDJYOiUwMlg6JTAyWDolMDJYOiUw
MlgAAABFdGhlcm5ldAAAAABldGhlcgAAAFBvaW50LVBvaW50IFByb3RvY29sAAAAAHBwcAAxMDBi
YXNlRlgAAAAxMDBiYXNlVFgAAAAxMDBiYXNlVAAAAABkYjE1AAAAAHRoaWNrAAAAQVVJAHRwZQB1
dHAAMTBiYXNlVABjb2F4AAAAAGJuYwAxMGJhc2UyAHVua25vd24AAABrAE0AAABYIGJ5dGVzOiVM
dSAoJUx1LiVsdSAlc2IpJXMAJS05LjlzIExpbmsgZW5jYXA6JXMgIAAASFdhZGRyICVzICAATWVk
aWE6JXMAAAAAKGF1dG8pAAAKAAAAICAgICAgICAgICVzIGFkZHI6JXMgAAAAIFAtdC1QOiVzIAAA
IEJjYXN0OiVzIAAAIE1hc2s6JXMKAAAAICAgICAgICAgIAAAW05PIEZMQUdTXSAAVVAgAEJST0FE
Q0FTVCAAAERFQlVHIAAATE9PUEJBQ0sgAAAAUE9JTlRPUE9JTlQgAAAAAE5PVFJBSUxFUlMgAFJV
Tk5JTkcgAAAAAE5PQVJQIAAAUFJPTUlTQyAAAAAAQUxMTVVMVEkgAAAAU0xBVkUgAABNQVNURVIg
AE1VTFRJQ0FTVCAAACBNVFU6JWQgIE1ldHJpYzolZAAAICBBU1lNTVRVOiVkAAAAAFJYIHBhY2tl
dHM6JUx1IGVycm9yczolbHUgZHJvcHBlZDolbHUgb3ZlcnJ1bnM6JWx1IGZyYW1lOiVsdQoAAAAg
ICAgICAgICAgICAgY29tcHJlc3NlZDolbHUKAAAAAFRYIHBhY2tldHM6JUx1IGVycm9yczolbHUg
ZHJvcHBlZDolbHUgb3ZlcnJ1bnM6JWx1IGNhcnJpZXI6JWx1CgAgICAgICAgICAgY29sbGlzaW9u
czolbHUgAAAAY29tcHJlc3NlZDolbHUgAHR4cXVldWVsZW46JWQgAAAKICAgICAgICAgIFIAAAAA
ICBUAEludGVycnVwdDolZCAAAABCYXNlIGFkZHJlc3M6MHglbHggAE1lbW9yeTolbHgtJWx4IABE
TUEgY2hhbjoleCAAAAAAc29ja2V0AAAAAAAAAAAAAAAAAAB1bmFibGUgdG8gc3RhdCBgJXMnAGNh
bm5vdCByZW1vdmUgYCVzJwAAJXM6IGlzIGEgZGlyZWN0b3J5AAAlczogZGVzY2VuZCBpbnRvIGRp
cmVjdG9yeSBgJXMnPyAAAAB1bmFibGUgdG8gb3BlbiBgJXMnAC4AAAAuLgAAdW5hYmxlIHRvIGNs
b3NlIGAlcycAAAAAJXM6IHJlbW92ZSBkaXJlY3RvcnkgYCVzJz8gAHVuYWJsZSB0byByZW1vdmUg
YCVzJwAAACVzOiByZW1vdmUgYCVzJz8gAAAAAAAAAHJlYWQAAAAAd3JpdGUAAAAlcwAAAAAAAAAA
AAAAAAAALgAAAAAAAAAAAAAAAAAAAENhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGAlcycAAAAAQ2Fu
bm90IHNldCBwZXJtaXNzaW9ucyBvZiBkaXJlY3RvcnkgYCVzJwAAAAAAAAAAaWNtcAAAAABwZXJt
aXNzaW9uIGRlbmllZC4gKGFyZSB5b3Ugcm9vdD8pAAAAAAAAV0lOQ0gAAABQV1IAUFJPRgAAAABW
VEFMUk0AAFhGU1oAAAAAWENQVQAAAABDTEQAUE9MTAAAAABJTwAAVVJHAFNZUwBCVVMARU1UAElP
VABUUkFQAAAAAFRUT1UAAAAAVFRJTgAAAABUU1RQAAAAAFNUT1AAAAAAQ09OVAAAAABDSExEAAAA
AFVTUjIAAAAAVVNSMQAAAABURVJNAAAAAEFMUk0AAAAAUElQRQAAAABTRUdWAAAAAEtJTEwAAAAA
RlBFAEFCUlQAAAAASUxMAFFVSVQAAAAASU5UAEhVUABFWElUAAAAAFNJRwAlZAAAZGVmYXVsdAAq
AAAAAAAAAG5vIGNoYW5nZQAAAGEgcGFsaW5kcm9tZQAAAABjYXNlIGNoYW5nZXMgb25seQAAAHRv
byBzaW1pbGlhcgAAAAB0b28gc2ltcGxlAAByb3RhdGVkAHRvbyBzaG9ydAAAAEJhZCBwYXNzd29y
ZDogJXMuCgAAAAAAAAAAAAAAAAAAeHN0cm5kdXAgYnVnAAAAACVzAAAAAAAAAAAAAAAAAAB4AAAA
KgAAAG5vIHZhbGlkIHNoYWRvdyBwYXNzd29yZAAAAABQYXNzd29yZDogAABnZXRwYXNzOiBjYW5u
b3Qgb3BlbiAvZGV2L3R0eQoAAGNhbm5vdCBzZXQgZ3JvdXBzAAAAY2Fubm90IHNldCBncm91cCBp
ZABjYW5ub3Qgc2V0IHVzZXIgaWQAAAAAAABvdXQgb2YgbWVtb3J5AAAALwAAAHVuYWJsZSB0byBj
ZCB0byAlcycgZm9yIHVzZXIgJXMnCgAAAGNhbm5vdCBjZCB0byBob21lIGRpcmVjdG9yeSBvciAv
AAAAAHdhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgdG8gaG9tZSBkaXJlY3RvcnkKAAAAVEVSTQAAAABI
T01FAAAAAFNIRUxMAAAAVVNFUgAAAABMT0dOQU1FAFBBVEgAAAAAL2JpbjovdXNyL2JpbgAAAC91
c3Ivc2JpbjovYmluOi91c3IvYmluOi9zYmluAAAAAAAAAAAAAAAtYwAAY2Fubm90IHJ1biAlcwAA
AAAAAAAAAAAAAAAAAHRjcABVbmFibGUgdG8gY29ubmVjdCB0byByZW1vdGUgaG9zdCAoJXMpAAAA
AAAAAEJ1c3lCb3ggdjAuNjEucHJlICgyMDA1LjAzLjE4LTE2OjA3KzAwMDApIG11bHRpLWNhbGwg
YmluYXJ5AAAAAABtZW1vcnkgZXhoYXVzdGVkAAAAAAAAAAAAAAAAAAAAAGludmFsaWQgZGF0ZSBg
JXMnAAAAAAAAAAAAAAAAAAAAdG9vIGZldyBhcmd1bWVudHMAAAAAAAAAAAAAAAAAAABjYW5gdCBj
cmVhdGUgcmF3IHNvY2tldAAAAAAAAAAAAC9ldGMvc2hhZG93AAAAAAAvZXRjL3Bhc3N3ZAAAAAAA
L2V0Yy9ub2xvZ2luAAAAAC9ldGMvbW90ZAAAAAAAAAAAAAAAOiAAAAAAAAAAAAAAL2V0Yy9ncm91
cAAAAAAAAC9ldGMvZ3JvdXAAAAAAAAAvZXRjL3Bhc3N3ZAAAAAAAL2V0Yy9wYXNzd2QAAAAAAC9l
dGMvZ3JvdXAAAAAAAAAvZXRjL2dyb3VwAAAAAAAAL2V0Yy9zaGFkb3cAcgAAACVzOiVzOiVsZDol
bGQ6JWxkOiVsZDolbGQ6JWxkOiVzCgAAAAAAAAAAAAAAAAAAAMwARPDkAETw/ABE8AQBRPAMAUTw
JAFE8DwBRPAAAAAAAAAAAAAAAACQAgAQAxgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApA4AEAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABQoUQAcL5DAAMAAABUoUQAsLZCAAEAAABYoUQAGDlAABEAAABgoUQAENpDAAEA
AABkoUQAxFRAAAEAAABsoUQAlFdAAAEAAAB0oUQAUFpAAAEAAAB8oUQAgF1AAAEAAACAoUQAnLFD
AAEAAACIoUQAoGFAAAEAAACMoUQATG1AAAEAAACQoUQAILdDAAEAAACYoUQAcLlDAAEAAACgoUQA
4K5BAAMAAACooUQA+KxAAAEAAACwoUQAcExBAAEAAAC8oUQAkLlDAAMAAADAoUQAkE9BAAIAAADM
oUQANN5AAAIAAADUoUQAeClBAAIAAADcoUQAwLFBAAEAAADkoUQAtHJAAAEAAADooUQAyLxBAAEA
AADwoUQA7I5AAAEAAAD0oUQAIDRBAAIAAAD8oUQAUJlAAAEAAAAEokQAiEVBAAIAAAAQokQAvOJD
AAEAAAAYokQAfJ9AAAEAAAAcokQAMNVBACMAAAAkokQA6GNBAAEAAAAsokQAALhBAAEAAAAwokQA
IL1DAAEAAAA0okQAkOZAAAIAAAA8okQAoKJAAAEAAABAokQAYElBAAIAAABIokQAXHVBAAIAAABQ
okQAsLZCAAEAAABUokQAsL1DAAEAAABcokQA0KRAAAEAAABkokQAtEFAAAEAAABookQAcL5DAAMA
AABwokQAYHdBAAMAAAB4okQAUKVAAAEAAACAokQAoNZDAAEAAACIokQAwNZDAAMAAACMokQAuO9D
AAEAAACUokQA5IZBAAMAAACcokQAsNdDAAMAAACkokQAkNhDAAMAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4KpEAAEAAADcqkQAAgAAANiqRAAAAgAA1KpEAOgDAADQ
qkQAAAQAAMyqRABAQg8AyKpEAAAAEADEqkQAAMqaO8CqRAAAAABAAAAAAAAAAAAAAAAAAAAAAAAA
UAAOAAIAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAABixRAABAAAAELFEAAIAAAAEsUQABAAAAPywRAAIAAAA9LBEABAAAADosEQA
IAAAANywRABAAAAA1LBEAIAAAAAAAAAAAAAAAAAAAAAgsUQALLFEADixRABEsUQAAAAAAFRFUk09
bGludXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL2Rldi9jb25zb2xlAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/////6ADABDYskQA4LJEAASzRAAUs0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA4L1EANS9RACIwEQA
AAAAAAAAAAAAAAAAAAAAAITDRAAAAAAAAAAAAAAAAABIxkQAHokQADzGRAAiiRAALMZEAKGJEAAc
xkQAQ4kQAAzGRAAYiRAA/MVEAByJEADsxUQAGokQAAzGRAAYiRAA4MVEABaJEADcxkQAEBAAANjG
RAAQEAAA0MZEABAQAADExkQAEBAAALzGRAAQEwAAtMZEABAzAACoxkQAElMCAJzGRAASQxAAmMZE
AAkAgACMxkQACQAgAITGRAAGAAABeMZEAAYAABBsxkQABgAAAmTGRAAGAACAYMZEAAQAQQBYxkQA
AQABAAAAAAAAw0EA//////////8AAAAAAAAAAITNRAB0zUQAYM1EAEDNRAAozUQAFM1EAADNRADw
zEQAAAAAAAAAAAAAAAAAAAAAAFgnABBcJwAQ+AEAAAzbRAAE20QA+NpEAOjaRADc2kQA1NpEAMza
RADE2kQAuNpEALTaRACs2kQAoNpEAJTaRACM2kQAgNpEAHDaRAD/////AAAAADjcRAAs3EQAHNxE
ABTcRAAI3EQABNxEAADcRAD820QA+NtEAPTbRADw20QA7NtEAOjbRADk20QA4NtEANjbRADU20QA
zNtEAMTbRAC820QAtNtEALDbRACo20QApNtEAKDbRACY20QAkNtEAIjbRACE20QAgNtEAAEAAADo
KQAQ/////zgrABAMAAAAnNxEAAAAAABIKwAQLAAAAMTcRAAAAAAAWCsAECwAAAC43EQAAAAAAGgr
ABAMAAAAWNxEADBFQgCIKwAQDAAAALDcRAAAAAAAmCsAEAwAAACk3EQA7PFCAAAAAAAAAAAAAAAA
AAAAAADU3UQAeMJCANDdRACg1kMAzN1EAASRQgDE3UQADCBCALjdRADoH0IAtN1EAJDnQQCs3UQA
kOdBAKDdRAAMIEIAmN1EAGz0QQCQ3UQAeCNCAIjdRAC8xUIAgN1EADheQwB43UQAcLlDAHTdRAAM
fUIAcN1EABiQQgBo3UQACDVCAGDdRAAYO0IAWN1EALCSQgBQ3UQAcItCAEjdRABAYEMAQN1EADjs
QQA43UQAxM5CACzdRAA4XkMAJN1EABghQgAc3UQAxPBCABTdRABwZUMADN1EADzvQgAE3UQAPGxD
APzcRADcSUMA9NxEAKDWQwDs3EQAsEtCAOTcRABg10IA3NxEABTUQgDU3EQAKGZDAMzcRAAUmEIA
/////5wvABAAAAAAAAAAAIDkRAB85EQAeOREAHDkRABo5EQAZOREAFzkRABY5EQAUOREAEjkRABA
5EQAOOREADDkRAAo5EQAIOREABzkRAAU5EQADOREAJzkRACY5EQAlOREAJDkRACM5EQAiOREAITk
RAAAAAAAQOZEAAAAAQAw5kQAAQAAAiDmRAACAAAEEOZEAAMAAAT85UQABAAAAuzlRAAHAAAE1OVE
AAkAAATA5UQACAABAKjlRAAFAAEAAAAAAAAAAACCgUA9AAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA2PBEAAEAAADU8EQAAgAAANDwRAADAAAAzPBEAAQAAADI8EQABQAAAMTwRAAG
AAAAwPBEAAcAAAC88EQACAAAALjwRAAJAAAAtPBEAA4AAACw8EQADwAAAKzwRAAQAAAAqPBEAAwA
AACk8EQADQAAAKDwRAAWAAAAnPBEABcAAACY8EQACwAAAJTwRAAUAAAAkPBEABUAAACM8EQACwAA
AIjwRAAKAAAAhPBEABgAAQCA8EQAGQABAHzwRAAaAAEAePBEABsAAQB08EQAHAABAHDwRAAdAAEA
bPBEAB4AAQBo8EQAHwABAGTwRAAgAAEAYPBEACEAAQBc8EQAEQABAFjwRAASAAEAVPBEABMAAQBQ
8EQAIgACAEzwRAAjAAMASPBEACQAAwBE8EQAJQAEAEDwRAAmAAQAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA6PJEAO////8AAAAA4PJEAP//////+///1PJEAP////8AAAAAzPJEAP////8AAAAAyPJE
APv///8AAAAAvPJEAP//////9///tPJEAPf///8AAAAArPJEAP////8ABAAApPJEAP////8EAAAA
mPJEAP////8ACAAAkPJEAP////8IAAAAiPJEAP////8CAAAAgPJEAP////8gAAAAfPJEAP////8B
AAAAePJEAP7///8AAAAAcPJEAP3///8AAAAAaPJEAP////8QAAAAYPJEAP////8AEAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD8+kQA7PpEAAIAAAAEAAAAAAAA
AGAjRAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAFPtEAAz7RAAAAAAAAAAAACQkRADEJEQA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQLABBYCwAQAAAAAAAAAAD//////////xT7RAAM
+0QA/////wAAAAAkJEQAAAAAAAAAAAAAAAAAzPxEALz8RAAEAwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA/UQA9PxEAAEAAAAGAAAAbDxEAAAAAAAAAAAAAAAAACD9RAAI/UQAAAIAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAxAsAEOQLABAEDAAQpAsAEAAAAACA/UQAAAAAAAAAAAAAAAAAeP1EAHT9RABs/UQA
AAAAAGT9RABg/UQAXP1EAAAAAABY/UQAUP1EAEj9RAAAAAAAPP1EAAAAAAAAAAAAAAAAADD9RAAA
AAAAAAAAAAAAAAAk/UQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAJFAAAA
AACcAkUAAQAAAJgCRQACAAAAkAJFAAMAAACMAkUABAAAAIQCRQAGAAAAgAJFAAgAAAB4AkUACQAA
AHACRQALAAAAaAJFAA0AAABgAkUADgAAAFgCRQAPAAAAUAJFABAAAABIAkUAEQAAAEACRQASAAAA
OAJFABkAAAAwAkUAFwAAACgCRQAYAAAAIAJFABoAAAAYAkUAGwAAABACRQAFAAAADAJFAAYAAAAI
AkUABwAAAAQCRQAKAAAAAAJFAAwAAAD8AUUAFQAAAPgBRQAWAAAA8AFFABYAAADsAUUAEgAAAOQB
RQAeAAAA3AFFAB8AAADUAUUAHAAAAMwBRQAdAAAAyAFFABMAAADAAUUAFAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAADAFRQAAAAAAAAAAAAAAAABwBUUAAAAAAAAAAAAAAAAAkAVFAAAAAAAAAAAA
AAAAALAFRQAAAAAAAAAAAAAAAADQBUUAAAAAAAAAAAAAAAAA8AVFAAAAAAAAAAAAAAAAAAAGRQAA
AAAAAAAAAAAAAAAQBkUAAAAAAAAAAAAAAAAAIAZFAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAA
AAAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAACAAAAAEAAAQAAAAEUAAABB
AAAAQgAAAEMAAABEAAAAAAAAAAAAAAAAAFCfRACYCwAQQJ9EAIhFQQAwn0QAIJ9EABCfRAAAn0QA
8J5EACA0QQAAhQ8I4J5EANCeRADAnkQAAA4AELCeRADIvEEAAFFAAKCeRACQnkQAgF1AAICeRABw
nkQAYJ5EAFCeRABAnkQAMJ5EACCeRAAQnkQAwABEAACeRADwnUQA4J1EANCdRADAnUQAwNZDALCd
RABwIkQA8BtEAKCdRAB4bUQAkJ1EAPBTRABQWkAAbD1AAICdRADQbEQAQHtEAAD0QwBwnUQAYA4A
EGCdRAAw+UQAAHVEAFCdRABAnUQAMJ1EAJRXQAAgnUQAXF1EABCdRAAAnUQA8JxEAAAJRACgCUQA
4JxEANCcRADAnEQAsJxEAKCcRACQnEQAgJxEABBWRABwuUMAEFFEAJDmQABwnEQAtHJAAGCcRAD0
FAAQYCBEANAORABQnEQAQJxEAOQDAABwvkMA4K5BADCcRAAgnEQAbJ9DABCcRAD8FAAQAJxEAPCb
RADgm0QA0JtEAOhjQQBwn0QAYHxEAAC4QQBQTEQAwJtEALCbRACwvUMAoJtEAJCbRACAfUQAgJtE
AFAGAgBwm0QA4P1DAGCbRACgokAA8BxEAFCbRABAm0QAEAxEADBQQAAwm0QAIJtEAKAcRAAQm0QA
AJtEAPCaRADgmkQAUAYAANCaRADAmkQAsJpEAKCaRACQmkQAUKVAAICaRADQEEQAcJpEAGCaRABQ
mkQA5IZBAECaRAAwmkQAIJpEACC9QwAQmkQAAJpEABALRADwdkQA8JlEAOCZRAC0QUAA0JlEAGDy
QwD4FAAQwJlEALCZRAAweUQAeClBAKCZRACQmUQAgJlEAHCZRABgmUQAUJlEAECZRABYa0QAMJlE
AOyOQAAgmUQAoHdEAJBPQQAQmUQA6G1EACBqRADwDEQAAJlEALBbRADwmEQA4JhEAGBJQQDQmEQA
wJhEALCYRACgmEQAkJhEAICYRACQuUMAcJhEAGCYRABQmEQA0KRAAECYRABcg0QAMJhEAMAXRAAg
mEQAEJhEAACYRADwl0QA4JdEANCXRACgGEQAwJdEADBuRACwl0QAoJdEAPisQADcAwAA0GtEAAQc
AACYaUQAkJdEAICXRABwl0QA8H5EACAAABDAf0QAYJdEAFCXRAAAhQ8IQJdEAJB5RAAYOUAAwBNE
ADCXRAAgl0QAXGxEACAKRAAQl0QAAJdEAPCWRADglkQAAAAAABAAABDQlkQAwJZEAJxxRACwlkQA
8A0AEKCWRACQlkQAUA5EAICWRACw10MAsLZCAHCWRABglkQAUJZEAECWRAAwlkQAwDtAACCWRACw
NUAAEJZEAPD/QwAAlkQA8JVEAOCVRAC470MAkGYDAAAWRADQlUQAwJVEALCVRAAgt0MAoJVEAFCZ
QABMbUAAkJVEAMAGRACAlUQAkIpEABBwRABwlUQAgCFEAGCVRABQlUQAIIFEAGBLRABQHQMAwB5E
AECVRAAwlUQAIJVEABCVRAAAlUQAgA9EAPCURADglEQAwB9EANCURADAlEQAUAQAALACRQCwlEQA
oJREAAAQRAAAHAAAkJREADBXRACAlEQAMA4AENAWRABwlEQAYJREAFCURABAlEQAMJREACCURADg
8UMAEJREAACURADwk0QA8ANEAOCTRADQk0QAwJNEALziQwAQ2kMAsJNEAKCTRADwFAAQkNhDAPBS
RACQk0QAgJNEAHCTRABgk0QAoBVEAFCTRABAk0QA8B1EACAOABBwNgAQcAFEADCTRAAgk0QAEJNE
AIBSRAAgAkQAQBVEAACTRADwkkQAEA4AEPCiRADgkkQAYHpEADTeQAAw1UEA0JJEAMCSRACg1kMA
oGFAALCSRAAQWkQAoJJEAJCSRAA4TkAAgJJEAHCSRABgkkQAUJJEAFAOABBAkkQAQA4AEMRUQACw
8kMA4AMAADCSRAAgkkQAfJ9AABCSRADAjUQAgBFEAKBRRAAAkkQA8JFEAOCRRABwDgAQ0JFEAMCx
QQBcdUEAcExBAMCRRACcsUMAYHdBALCRRADgakQAoJFEAJCRRAAALnN5bXRhYgAuc3RydGFiAC5z
aHN0cnRhYgAuaW50ZXJwAC5yZWdpbmZvAC5keW5hbWljAC5oYXNoAC5keW5zeW0ALmR5bnN0cgAu
aW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5yZWwuZHluAC5kYXRhAC5ybGRfbWFwAC5laF9mcmFt
ZQAuY3RvcnMALmR0b3JzAC5nb3QALnNic3MALmJzcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAA9ABAAPQAAAAUAAAAAAAAAAAAAAABAAAAAAAA
ACMAAAAGAABwAgAAAAgBQAAIAQAAGAAAAAAAAAAAAAAABAAAABgAAAAsAAAABgAAAAIAAAAgAUAA
IAEAALgAAAAGAAAAAAAAAAQAAAAIAAAANQAAAAUAAAACAAAA2AFAANgBAACQCgAABQAAAAAAAAAE
AAAABAAAADsAAAALAAAAAgAAAGgMQABoDAAAsBkAAAYAAAABAAAABAAAABAAAABDAAAAAwAAAAIA
AAAYJkAAGCYAAJYPAAAAAAAAAAAAAAEAAAAAAAAASwAAAAEAAAAGAAAAsDVAALA1AABsAAAAAAAA
AAAAAAAEAAAAAAAAAFEAAAABAAAABgAAACA2QAAgNgAAUGkEAAAAAAAAAAAAEAAAAAAAAABXAAAA
AQAAAAYAAABwn0QAcJ8EAEwAAAAAAAAAAAAAAAQAAAAAAAAAXQAAAAEAAAACAAAAwJ9EAMCfBABA
ZwAAAAAAAAAAAAAQAAAAAAAAAGUAAAAJAAAAAgAAAAAHRQAABwUAEAAAAAUAAAAAAAAAEAAAAAgA
AABuAAAAAQAAAAMAAAAAAAAQABAFAJAOAAAAAAAAAAAAABAAAAAAAAAAdAAAAAEAAAADAAAAkA4A
EJAeBQAEAAAAAAAAAAAAAAAEAAAAAAAAAH0AAAABAAAAAwAAAJQOABCUHgUABAAAAAAAAAAAAAAA
BAAAAAAAAACHAAAAAQAAAAMAAACYDgAQmB4FAAgAAAAAAAAAAAAAAAQAAAAAAAAAjgAAAAEAAAAD
AAAAoA4AEKAeBQAIAAAAAAAAAAAAAAAEAAAAAAAAAJUAAAABAAAAAwAAELAOABCwHgUAQAYAAAAA
AAAAAAAAEAAAAAQAAACaAAAACAAAAAMAABDwFAAQ8CQFABAAAAAAAAAAAAAAAAQAAAAAAAAAoAAA
AAgAAAADAAAAABUAEPAkBQDwIgAAAAAAAAAAAAAQAAAAAAAAABEAAAADAAAAAAAAAAAAAADwJAUA
pQAAAAAAAAAAAAAAAQAAAAAAAAA=

--Boundary-00=_zBjsHXpengDaTjx--

From ddaney@avtrex.com Tue Feb 12 23:54:39 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 12 Feb 2008 23:54:47 +0000 (GMT)
Received: from smtp1.dnsmadeeasy.com ([205.234.170.144]:2992 "EHLO
	smtp1.dnsmadeeasy.com") by ftp.linux-mips.org with ESMTP
	id S20031981AbYBLXyj (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 12 Feb 2008 23:54:39 +0000
Received: from smtp1.dnsmadeeasy.com (localhost [127.0.0.1])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP id 03A2C313C64;
	Tue, 12 Feb 2008 23:54:43 +0000 (UTC)
X-Authenticated-Name: js.dnsmadeeasy
X-Transit-System: In case of SPAM please contact abuse@dnsmadeeasy.com
Received: from avtrex.com (unknown [67.116.42.147])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP;
	Tue, 12 Feb 2008 23:54:42 +0000 (UTC)
Received: from dl2.hq2.avtrex.com ([192.168.7.26]) by avtrex.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Tue, 12 Feb 2008 15:54:23 -0800
Message-ID: <47B231AD.5050809@avtrex.com>
Date:	Tue, 12 Feb 2008 15:54:21 -0800
From:	David Daney <ddaney@avtrex.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20071115)
MIME-Version: 1.0
To:	Matteo Croce <rootkit85@yahoo.it>
Cc:	linux-mips@linux-mips.org
Subject: Re: Can't execute any MIPS  binary
References: <200802130034.25052.rootkit85@yahoo.it>
In-Reply-To: <200802130034.25052.rootkit85@yahoo.it>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 12 Feb 2008 23:54:23.0337 (UTC) FILETIME=[978F4D90:01C86DD2]
Return-Path: <ddaney@avtrex.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18223
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ddaney@avtrex.com
Precedence: bulk
X-list: linux-mips

Matteo Croce wrote:
> Hi,
> I have a machine, an AR7 MIPS router I want to hack, but I'm unable
> to run _any_ executable on that machine outside the ones in the firmware.
> I tried building a static mips1 binary, but it fails so:
> 
> # /var/test.bin
> /var/test.bin: 1: Syntax error: "(" unexpected
> 
> so I downloaded a binary builtin in the firmware and I compared it to my own:
> 
> $ file busybox.bin test.bin
> busybox.bin: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped
> test.bin:    ELF 32-bit LSB executable, MIPS, version 1 (SYSV), statically linked, stripped
> 
> busybox.bin is the builtin busybox while test.bin is a static HelloWorld
> 
> I ran readelf on it:
> 
> $ readelf -h busybox.bin
> ELF Header:
>   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, little endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              EXEC (Executable file)
>   Machine:                           MIPS R3000
>   Version:                           0x1
>   Entry point address:               0x4037e0
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          337304 (bytes into file)
>   Flags:                             0x5, noreorder, cpic, mips1
>   Size of this header:               52 (bytes)
>   Size of program headers:           32 (bytes)
>   Number of program headers:         6
>   Size of section headers:           40 (bytes)
>   Number of section headers:         21
>   Section header string table index: 20
> $ readelf -h test.bin
> ELF Header:
>   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, little endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              EXEC (Executable file)
>   Machine:                           MIPS R3000
>   Version:                           0x1
>   Entry point address:               0x400140
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          11780 (bytes into file)
>   Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
>   Size of this header:               52 (bytes)
>   Size of program headers:           32 (bytes)
>   Number of program headers:         3
>   Size of section headers:           40 (bytes)
>   Number of section headers:         17
>   Section header string table index: 16
> $ diff -u <(readelf -h busybox.bin) <(readelf -h test.bin)
> --- /dev/fd/63  2008-02-13 00:26:48.880261477 +0100
> +++ /dev/fd/62  2008-02-13 00:26:48.880261477 +0100
> @@ -8,13 +8,13 @@
>    Type:                              EXEC (Executable file)
>    Machine:                           MIPS R3000
>    Version:                           0x1
> -  Entry point address:               0x4037e0
> +  Entry point address:               0x400140
>    Start of program headers:          52 (bytes into file)
> -  Start of section headers:          337304 (bytes into file)
> -  Flags:                             0x5, noreorder, cpic, mips1
> +  Start of section headers:          11780 (bytes into file)
> +  Flags:                             0x50001007, noreorder, pic, cpic, o32, mips32
>    Size of this header:               52 (bytes)
>    Size of program headers:           32 (bytes)
> -  Number of program headers:         6
> +  Number of program headers:         3
>    Size of section headers:           40 (bytes)
> -  Number of section headers:         21
> -  Section header string table index: 20
> +  Number of section headers:         17
> +  Section header string table index: 16
> 
> The router firmware uses:
> # cat /proc/version
> Linux version 2.4.17_mvl21-malta-mips_fp_le (root@localhost.localdomain) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Fri Mar 18 11:00:12 EST 2005
> 

IIRC, the definitions of the elf flags were wrong in 2.4.x (x < 20 or 25 
or something like that).  I had similar problems.

You should be able to run the binary if run a binary editor on it and 
clear the mips32 flag (i.e. change the flags from 0x50001007 to just 
0x1007).

If you want to generate the program with out the mips32 flag in the 
first place you have to compile everything (libc, libgcc crt*.o, program 
) with -mips1

It may be easier to run a program that post processes the executable to 
clear the flag.


David Daney

From technoboy85@gmail.com Wed Feb 13 16:21:30 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 13 Feb 2008 16:21:39 +0000 (GMT)
Received: from [85.33.2.28] ([85.33.2.28]:52235 "EHLO smtp-out28.alice.it")
	by ftp.linux-mips.org with ESMTP id S20024522AbYBMQVa (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Wed, 13 Feb 2008 16:21:30 +0000
Received: from FBCMMO03.fbc.local ([192.168.68.197]) by smtp-out28.alice.it with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 17:21:14 +0100
Received: from FBCMCL01B08.fbc.local ([192.168.171.46]) by FBCMMO03.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 17:21:12 +0100
Received: from [192.168.0.3] ([79.19.188.10]) by FBCMCL01B08.fbc.local with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 17:21:04 +0100
From:	Matteo Croce <technoboy85@gmail.com>
To:	David Daney <ddaney@avtrex.com>
Subject: Re: Can't execute any MIPS  binary
Date:	Wed, 13 Feb 2008 17:21:11 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20080118.763038)
References: <200802130034.25052.rootkit85@yahoo.it> <47B231AD.5050809@avtrex.com>
In-Reply-To: <47B231AD.5050809@avtrex.com>
X-Face:	0AUq?,0sKh2O65+R5#[nTCS'~}"m)9|g3Tsi=g7A9q69S+=M!BY)=?utf-8?q?Zdmwo2u!i=5CUylx=26=27D+=0A=09=5B7u=26z1=27s=7E=5B=3F+=24=27w?=
 =?utf-8?q?O6+?="'WWcr5Jy,]}8namg8NP:9<E,o^21xGB~/HRhB(u^@
 =?utf-8?q?ZB=2EXLP0swe=0A=09r9M=7EL?=<b1=^'4cv*_N1tNJ$`9Ot*KL/;8oXFdrT@r|-Ki2wCQI"R(X(
 =?utf-8?q?73r=3A=3BmnNPoA2a=5D=7EZ=0A=092n2sUh?=,B|bt;ys*hv.QR>a]{m
Cc:	linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802131721.11392.technoboy85@gmail.com>
X-OriginalArrivalTime: 13 Feb 2008 16:21:05.0109 (UTC) FILETIME=[6E90D050:01C86E5C]
Return-Path: <technoboy85@gmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18224
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: technoboy85@gmail.com
Precedence: bulk
X-list: linux-mips

Il Wednesday 13 February 2008 00:54:21 hai scritto:
> You should be able to run the binary if run a binary editor on it and 
> clear the mips32 flag (i.e. change the flags from 0x50001007 to just 
> 0x1007).

Solved by changing flags from 0x50001007 to 0x5, thanks :)

From ddaney@avtrex.com Wed Feb 13 17:31:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 13 Feb 2008 17:31:53 +0000 (GMT)
Received: from smtp1.dnsmadeeasy.com ([205.234.170.144]:8872 "EHLO
	smtp1.dnsmadeeasy.com") by ftp.linux-mips.org with ESMTP
	id S20025498AbYBMRbp (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 13 Feb 2008 17:31:45 +0000
Received: from smtp1.dnsmadeeasy.com (localhost [127.0.0.1])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP id 9BBFB313D31;
	Wed, 13 Feb 2008 17:31:44 +0000 (UTC)
X-Authenticated-Name: js.dnsmadeeasy
X-Transit-System: In case of SPAM please contact abuse@dnsmadeeasy.com
Received: from avtrex.com (unknown [67.116.42.147])
	by smtp1.dnsmadeeasy.com (Postfix) with ESMTP;
	Wed, 13 Feb 2008 17:31:44 +0000 (UTC)
Received: from dl2.hq2.avtrex.com ([192.168.7.26]) by avtrex.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Wed, 13 Feb 2008 09:31:30 -0800
Message-ID: <47B32971.1000509@avtrex.com>
Date:	Wed, 13 Feb 2008 09:31:29 -0800
From:	David Daney <ddaney@avtrex.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20071115)
MIME-Version: 1.0
To:	Matteo Croce <technoboy85@gmail.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: Can't execute any MIPS  binary
References: <200802130034.25052.rootkit85@yahoo.it> <47B231AD.5050809@avtrex.com> <200802131721.11392.technoboy85@gmail.com>
In-Reply-To: <200802131721.11392.technoboy85@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 13 Feb 2008 17:31:30.0759 (UTC) FILETIME=[453FD570:01C86E66]
Return-Path: <ddaney@avtrex.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18225
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ddaney@avtrex.com
Precedence: bulk
X-list: linux-mips

Matteo Croce wrote:
> Il Wednesday 13 February 2008 00:54:21 hai scritto:
>> You should be able to run the binary if run a binary editor on it and 
>> clear the mips32 flag (i.e. change the flags from 0x50001007 to just 
>> 0x1007).
> 
> Solved by changing flags from 0x50001007 to 0x5, thanks :)

I think that you only want to clear the mips32 part (that is the part 
keeping the elf exec from working).  I would leave all the other bits as 
they were.

In other words, probably the flags should be 0x1007, instead of 0x5.

Although it may not really matter.  It has been several years since I 
studied the code.

David Daney

From ths@networkno.de Thu Feb 14 16:58:33 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 14 Feb 2008 16:58:42 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:36505 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S20025129AbYBNQ6d (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 14 Feb 2008 16:58:33 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id 4C85E48916;
	Thu, 14 Feb 2008 17:58:27 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JPhPl-0000hi-H2; Thu, 14 Feb 2008 16:58:25 +0000
Date:	Thu, 14 Feb 2008 16:58:25 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	linux-mips@linux-mips.org
Cc:	ralf@linux-mips.org
Subject: [PATCH] Fix build failure for 64-bit SB-1 kernels
Message-ID: <20080214165825.GE29497@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18226
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips

Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror.
The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS enabled.


Signed-off-by: Thiemo Seufer <ths@networkno.de>
---

Index: linux.git/arch/mips/mm/pg-sb1.c
===================================================================
--- linux.git.orig/arch/mips/mm/pg-sb1.c	2008-02-12 00:14:34.000000000 +0000
+++ linux.git/arch/mips/mm/pg-sb1.c	2008-02-12 00:29:36.000000000 +0000
@@ -216,7 +216,7 @@
 	int i;
 
 	for (i = 0; i < DM_NUM_CHANNELS; i++) {
-		const u64 base_val = CPHYSADDR(&page_descr[i]) |
+		const u64 base_val = CPHYSADDR((unsigned long)&page_descr[i]) |
 				     V_DM_DSCR_BASE_RINGSZ(1);
 		void *base_reg = IOADDR(A_DM_REGISTER(i, R_DM_DSCR_BASE));
 
@@ -228,11 +228,11 @@
 
 void clear_page(void *page)
 {
-	u64 to_phys = CPHYSADDR(page);
+	u64 to_phys = CPHYSADDR((unsigned long)page);
 	unsigned int cpu = smp_processor_id();
 
 	/* if the page is not in KSEG0, use old way */
-	if ((long)KSEGX(page) != (long)CKSEG0)
+	if ((long)KSEGX((unsigned long)page) != (long)CKSEG0)
 		return clear_page_cpu(page);
 
 	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_ZERO_MEM |
@@ -252,13 +252,13 @@
 
 void copy_page(void *to, void *from)
 {
-	u64 from_phys = CPHYSADDR(from);
-	u64 to_phys = CPHYSADDR(to);
+	u64 from_phys = CPHYSADDR((unsigned long)from);
+	u64 to_phys = CPHYSADDR((unsigned long)to);
 	unsigned int cpu = smp_processor_id();
 
 	/* if any page is not in KSEG0, use old way */
-	if ((long)KSEGX(to) != (long)CKSEG0
-	    || (long)KSEGX(from) != (long)CKSEG0)
+	if ((long)KSEGX((unsigned long)to) != (long)CKSEG0
+	    || (long)KSEGX((unsigned long)from) != (long)CKSEG0)
 		return copy_page_cpu(to, from);
 
 	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_L2C_DEST |

From dvomlehn@cisco.com Fri Feb 15 20:17:55 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 15 Feb 2008 20:17:57 +0000 (GMT)
Received: from sj-iport-5.cisco.com ([171.68.10.87]:32905 "EHLO
	sj-iport-5.cisco.com") by ftp.linux-mips.org with ESMTP
	id S20032207AbYBOURz (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 15 Feb 2008 20:17:55 +0000
X-IronPort-AV: E=Sophos;i="4.25,359,1199692800"; 
   d="scan'208";a="13075016"
Received: from sj-dkim-1.cisco.com ([171.71.179.21])
  by sj-iport-5.cisco.com with ESMTP; 15 Feb 2008 12:17:47 -0800
Received: from sj-core-1.cisco.com (sj-core-1.cisco.com [171.71.177.237])
	by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m1FKHl33032550
	for <linux-mips@linux-mips.org>; Fri, 15 Feb 2008 12:17:47 -0800
Received: from cliff.cisco.com (cliff.cisco.com [171.69.11.141])
	by sj-core-1.cisco.com (8.12.10/8.12.6) with ESMTP id m1FKHkJg008016
	for <linux-mips@linux-mips.org>; Fri, 15 Feb 2008 20:17:47 GMT
Received: from cuplxvomd01.corp.sa.net ([64.100.151.91]) by cliff.cisco.com (8.6.12/8.6.5) with ESMTP id UAA11242 for <linux-mips@linux-mips.org>; Fri, 15 Feb 2008 20:17:45 GMT
Message-ID: <47B5F369.7060600@cisco.com>
Date:	Fri, 15 Feb 2008 12:17:45 -0800
From:	David VomLehn <dvomlehn@cisco.com>
Reply-To: dvomlehn@cisco.com
User-Agent: Thunderbird 2.0.0.9 (X11/20071031)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: NFS mount fails with CONFIG_HIGHMEM on MIPS 24Kc system on 2.6.24
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature:	v=1; a=rsa-sha256; q=dns/txt; l=636; t=1203106667; x=1203970667;
	c=relaxed/simple; s=sjdkim1004;
	h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version;
	d=cisco.com; i=dvomlehn@cisco.com;
	z=From:=20David=20VomLehn=20<dvomlehn@cisco.com>
	|Subject:=20NFS=20mount=20fails=20with=20CONFIG_HIGHMEM=20o
	n=20MIPS=2024Kc=20system=20on=202.6.24
	|Sender:=20;
	bh=Gqxf+LL/cgKtixLMLIpuAArwCnZrGVEqJXRQX786yBI=;
	b=mR4bSFQBs2pt95OttS+PuR/qphfg/WEld/MUHID2iHE/jTd4vFh+l0jnJc
	UapwlkkC7z1mlq30pQzbOnukGp2HF8oHPagpAkrjttIlLWIahVdhMM9J2qbO
	O210Ocj/TJoLm5ENvy4yzNJNDfPg7GWxhn/te/HNHz/J+bcbGXgNY=;
Authentication-Results:	sj-dkim-1; header.From=dvomlehn@cisco.com; dkim=pass (
	sig from cisco.com/sjdkim1004 verified; ); 
Return-Path: <dvomlehn@cisco.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18227
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dvomlehn@cisco.com
Precedence: bulk
X-list: linux-mips

We have a 2.6.24final port to a MIPS 24Kc-based system which works 
normally without CONFIG_HIGHMEM enabled. When we enable HIGHMEM, the 
system boots normally using a CRAMFS root filesystem. If we use an NFS 
root filesystem, however, it appears to go through a normal boot, 
including the freeing of init memory, but then just sits indefinitely in 
r4k_wait().

I can see that using HIGHMEM enables use of kmap_atomic in networking 
code. Are there issues with networking or NFS with HIGHMEM enabled?

-- 
David VomLehn, dvomlehn@cisco.com
The opinions expressed herein are likely mine, but might not be my employer's...


From mb@bu3sch.de Sat Feb 16 10:40:21 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 16 Feb 2008 10:40:24 +0000 (GMT)
Received: from vs166246.vserver.de ([62.75.166.246]:19905 "EHLO
	vs166246.vserver.de") by ftp.linux-mips.org with ESMTP
	id S20033283AbYBPKkV (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sat, 16 Feb 2008 10:40:21 +0000
Received: from t5730.t.pppool.de ([89.55.87.48] helo=powermac.local)
	by vs166246.vserver.de with esmtpa (Exim 4.63)
	(envelope-from <mb@bu3sch.de>)
	id 1JQKSy-00038F-Cy; Sat, 16 Feb 2008 10:40:20 +0000
From:	Michael Buesch <mb@bu3sch.de>
To:	ralf@linux-mips.org
Subject: Linux MIPS PCI resource sanity check
Date:	Sat, 16 Feb 2008 11:39:10 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
Cc:	linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802161139.10791.mb@bu3sch.de>
Return-Path: <mb@bu3sch.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18228
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mb@bu3sch.de
Precedence: bulk
X-list: linux-mips

Hi,

There's a sanity check in pcibios_enable_resources() that looks like this:

	r = &dev->resource[idx];
	if (!r->start && r->end) {
		printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
		return -EINVAL;
	}

What is this check actually doing? It triggers for me on a BCM4318 device
which is behind a BCM4710 PCI bridge.
r->start is 0 and r->end is 0x1FFF when this triggers.
If I simply comment out that check the device is detected correctly
and seems to initialize just fine.

-- 
Greetings Michael.

From sshtylyov@ru.mvista.com Sat Feb 16 10:49:00 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 16 Feb 2008 10:49:03 +0000 (GMT)
Received: from h155.mvista.com ([63.81.120.155]:56184 "EHLO imap.sh.mvista.com")
	by ftp.linux-mips.org with ESMTP id S20033291AbYBPKtA (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sat, 16 Feb 2008 10:49:00 +0000
Received: from [192.168.1.234] (unknown [10.150.0.9])
	by imap.sh.mvista.com (Postfix) with ESMTP
	id C33A43EC9; Sat, 16 Feb 2008 02:48:57 -0800 (PST)
Message-ID: <47B6BFD4.5050404@ru.mvista.com>
Date:	Sat, 16 Feb 2008 13:49:56 +0300
From:	Sergei Shtylyov <sshtylyov@ru.mvista.com>
Organization: MontaVista Software Inc.
User-Agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
X-Accept-Language: ru, en-us, en-gb
MIME-Version: 1.0
To:	Michael Buesch <mb@bu3sch.de>
Cc:	ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: Linux MIPS PCI resource sanity check
References: <200802161139.10791.mb@bu3sch.de>
In-Reply-To: <200802161139.10791.mb@bu3sch.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <sshtylyov@ru.mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18229
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sshtylyov@ru.mvista.com
Precedence: bulk
X-list: linux-mips

Michael Buesch wrote:

> There's a sanity check in pcibios_enable_resources() that looks like this:

> 	r = &dev->resource[idx];
> 	if (!r->start && r->end) {
> 		printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
> 		return -EINVAL;
> 	}
> 
> What is this check actually doing?

   It makes sure that a PCI resource is allocated (base of 0 means that it's 
unallocated due to previously detected resource conlict (or some other reason).

> It triggers for me on a BCM4318 device which is behind a BCM4710 PCI bridge.
> r->start is 0 and r->end is 0x1FFF when this triggers.
> If I simply comment out that check the device is detected correctly
> and seems to initialize just fine.

    No, that failnig resource should be relocated.

WBR, Sergei

From mb@bu3sch.de Sat Feb 16 10:56:00 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 16 Feb 2008 10:56:03 +0000 (GMT)
Received: from vs166246.vserver.de ([62.75.166.246]:3785 "EHLO
	vs166246.vserver.de") by ftp.linux-mips.org with ESMTP
	id S20033306AbYBPK4A (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sat, 16 Feb 2008 10:56:00 +0000
Received: from t5730.t.pppool.de ([89.55.87.48] helo=powermac.local)
	by vs166246.vserver.de with esmtpa (Exim 4.63)
	(envelope-from <mb@bu3sch.de>)
	id 1JQKi7-0005om-VV; Sat, 16 Feb 2008 10:56:00 +0000
From:	Michael Buesch <mb@bu3sch.de>
To:	Sergei Shtylyov <sshtylyov@ru.mvista.com>
Subject: Re: Linux MIPS PCI resource sanity check
Date:	Sat, 16 Feb 2008 11:55:38 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
Cc:	ralf@linux-mips.org, linux-mips@linux-mips.org
References: <200802161139.10791.mb@bu3sch.de> <47B6BFD4.5050404@ru.mvista.com>
In-Reply-To: <47B6BFD4.5050404@ru.mvista.com>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802161155.38557.mb@bu3sch.de>
Return-Path: <mb@bu3sch.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18230
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mb@bu3sch.de
Precedence: bulk
X-list: linux-mips

On Saturday 16 February 2008 11:49:56 Sergei Shtylyov wrote:
> Michael Buesch wrote:
> 
> > There's a sanity check in pcibios_enable_resources() that looks like this:
> 
> > 	r = &dev->resource[idx];
> > 	if (!r->start && r->end) {
> > 		printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
> > 		return -EINVAL;
> > 	}
> > 
> > What is this check actually doing?
> 
>    It makes sure that a PCI resource is allocated (base of 0 means that it's 
> unallocated due to previously detected resource conlict (or some other reason).

So well, that's what the error message already told me. ;)
But where is the actual bug? I mean, this tells me there's some collision
for this MMIO resource. Still, I can access the MMIO space just fine.

> > It triggers for me on a BCM4318 device which is behind a BCM4710 PCI bridge.
> > r->start is 0 and r->end is 0x1FFF when this triggers.
> > If I simply comment out that check the device is detected correctly
> > and seems to initialize just fine.
> 
>     No, that failnig resource should be relocated.

How?

-- 
Greetings Michael.

From andy.sharp@onstor.com Sat Feb 16 23:35:42 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sat, 16 Feb 2008 23:35:45 +0000 (GMT)
Received: from mail.onstor.com ([66.201.51.107]:4220 "EHLO mail.onstor.com")
	by ftp.linux-mips.org with ESMTP id S20034599AbYBPXfm (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sat, 16 Feb 2008 23:35:42 +0000
Received: from onstor-exch02.onstor.net ([66.201.51.106]) by mail.onstor.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Sat, 16 Feb 2008 15:35:35 -0800
Received: from ripper.onstor.net ([10.0.0.42]) by onstor-exch02.onstor.net with Microsoft SMTPSVC(6.0.3790.1830);
	 Sat, 16 Feb 2008 15:35:34 -0800
Date:	Sat, 16 Feb 2008 15:35:30 -0800
From:	Andrew Sharp <andy.sharp@onstor.com>
To:	Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc:	Michael Buesch <mb@bu3sch.de>, ralf@linux-mips.org,
	linux-mips@linux-mips.org
Subject: Re: Linux MIPS PCI resource sanity check
Message-ID: <20080216153530.7a426a73@ripper.onstor.net>
In-Reply-To: <47B6BFD4.5050404@ru.mvista.com>
References: <200802161139.10791.mb@bu3sch.de>
	<47B6BFD4.5050404@ru.mvista.com>
Organization: Onstor
X-Mailer: Sylpheed-Claws 2.6.0 (GTK+ 2.8.20; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 16 Feb 2008 23:35:34.0951 (UTC) FILETIME=[A0A44370:01C870F4]
Return-Path: <andy.sharp@onstor.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18231
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: andy.sharp@onstor.com
Precedence: bulk
X-list: linux-mips

On Sat, 16 Feb 2008 13:49:56 +0300 Sergei Shtylyov
<sshtylyov@ru.mvista.com> wrote:

> Michael Buesch wrote:
> 
> > There's a sanity check in pcibios_enable_resources() that looks
> > like this:
> 
> > 	r = &dev->resource[idx];
> > 	if (!r->start && r->end) {
> > 		printk(KERN_ERR "PCI: Device %s not available
> > because of resource collisions\n", pci_name(dev)); return -EINVAL;
> > 	}
> > 
> > What is this check actually doing?
> 
>    It makes sure that a PCI resource is allocated (base of 0 means
> that it's unallocated due to previously detected resource conlict (or
> some other reason).


Actually, IIRC, resources are based on what the device requested, so a
device behind a bridge could request a resource starting at 0.  I had
to change this for a system as well.  I changed it to

if (!r->start && !r->end) {

because I couldn't see anything in the code that made r->start == 0 an
improper thing.  Not to mention I couldn't access the device any other
way.  Both being 0 is definitelty bogus.

> > It triggers for me on a BCM4318 device which is behind a BCM4710
> > PCI bridge. r->start is 0 and r->end is 0x1FFF when this triggers.
> > If I simply comment out that check the device is detected correctly
> > and seems to initialize just fine.
> 
>     No, that failnig resource should be relocated.
> 
> WBR, Sergei
> 

From mb@bu3sch.de Sun Feb 17 11:20:06 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 11:20:09 +0000 (GMT)
Received: from vs166246.vserver.de ([62.75.166.246]:3772 "EHLO
	vs166246.vserver.de") by ftp.linux-mips.org with ESMTP
	id S20025911AbYBQLUG (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Sun, 17 Feb 2008 11:20:06 +0000
Received: from t343f.t.pppool.de ([89.55.52.63] helo=powermac.local)
	by vs166246.vserver.de with esmtpa (Exim 4.63)
	(envelope-from <mb@bu3sch.de>)
	id 1JQhYx-00055U-HT; Sun, 17 Feb 2008 11:20:03 +0000
From:	Michael Buesch <mb@bu3sch.de>
To:	Andrew Sharp <andy.sharp@onstor.com>
Subject: Re: Linux MIPS PCI resource sanity check
Date:	Sun, 17 Feb 2008 12:19:41 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
Cc:	Sergei Shtylyov <sshtylyov@ru.mvista.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org
References: <200802161139.10791.mb@bu3sch.de> <47B6BFD4.5050404@ru.mvista.com> <20080216153530.7a426a73@ripper.onstor.net>
In-Reply-To: <20080216153530.7a426a73@ripper.onstor.net>
MIME-Version: 1.0
Content-Disposition: inline
Message-Id: <200802171219.42251.mb@bu3sch.de>
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Return-Path: <mb@bu3sch.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18232
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mb@bu3sch.de
Precedence: bulk
X-list: linux-mips

On Sunday 17 February 2008 00:35:30 Andrew Sharp wrote:
> Actually, IIRC, resources are based on what the device requested, so a
> device behind a bridge could request a resource starting at 0.  I had
> to change this for a system as well.  I changed it to
> 
> if (!r->start && !r->end) {
> 
> because I couldn't see anything in the code that made r->start == 0 an
> improper thing.  Not to mention I couldn't access the device any other
> way.  Both being 0 is definitelty bogus.

I think what's happening for me is the following:
I have a PCI bridge and behind that bridge is one device.
This has a fixed location and fixed size memory window (hardwired).

register_pci_controller() requires me to pass some io_resource
and mem_resource in the controller struct. So I pass the memory window
which is assigned to the controller and the devices behind it.
Later I fixup the bases and sizes for each resource in the
pcibios_plat_dev_init() routine.

So, well. I still don't know where the mips PCI subsystem would
detect this resource conflict and what that means to me.
If I simply rip out the check everything works fine, as I fixup
the addresses and sizes later anyway. (I fixup more stuff like the
IRQ routing an so on, too).

The code is in drivers/ssb/driver_pcicore.c

-- 
Greetings Michael.

From bunk@stusta.de Sun Feb 17 20:10:04 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 20:10:06 +0000 (GMT)
Received: from smtp6.pp.htv.fi ([213.243.153.40]:59112 "EHLO smtp6.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036001AbYBQUKE (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 20:10:04 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp6.pp.htv.fi (Postfix) with ESMTP id 4A0A75BC03D;
	Sun, 17 Feb 2008 22:10:03 +0200 (EET)
Date:	Sun, 17 Feb 2008 22:09:35 +0200
From:	Adrian Bunk <bunk@stusta.de>
To:	Dmitry Torokhov <dtor@mail.ru>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: cobalt_btns.c <-> struct platform_device compile error
Message-ID: <20080217200935.GE1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@stusta.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18233
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@stusta.de
Precedence: bulk
X-list: linux-mips

Commit b037b08e59633d939d79f1df9c43c6625f8db904 broke the compilation of 
cobalt_btns.c:

<--  snip  -->

...
  CC      drivers/input/misc/cobalt_btns.o
...
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c: In function 'cobalt_buttons_probe':
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:101: error: 'struct platform_device' has no member named 'keymap'
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
...
make[4]: *** [drivers/input/misc/cobalt_btns.o] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From bunk@kernel.org Sun Feb 17 20:10:27 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 20:10:31 +0000 (GMT)
Received: from smtp4.pp.htv.fi ([213.243.153.38]:57808 "EHLO smtp4.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036010AbYBQUKK (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 20:10:10 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp4.pp.htv.fi (Postfix) with ESMTP id ED0CA5BC016;
	Sun, 17 Feb 2008 22:10:09 +0200 (EET)
Date:	Sun, 17 Feb 2008 22:09:42 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Dmitry Torokhov <dtor@mail.ru>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: cdev removal broke cobalt_btns.c compilation
Message-ID: <20080217200942.GF1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18234
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

Commit 0c1efd365306c9b04df5abdd41e9b4dc721e84fb broke the compilation of 
cobalt_btns.c:

<--  snip  -->

...
  CC      drivers/input/misc/cobalt_btns.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c: In function 'cobalt_buttons_probe':
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:100: error: 'struct input_dev' has no member named 'cdev'
...
make[4]: *** [drivers/input/misc/cobalt_btns.o] Error 1
...

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From bunk@kernel.org Sun Feb 17 20:10:52 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 20:10:57 +0000 (GMT)
Received: from smtp5.pp.htv.fi ([213.243.153.39]:43948 "EHLO smtp5.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036015AbYBQUKP (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 20:10:15 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp5.pp.htv.fi (Postfix) with ESMTP id 116C95BC021;
	Sun, 17 Feb 2008 22:10:15 +0200 (EET)
Date:	Sun, 17 Feb 2008 22:09:47 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: mips/bcm47xx/setup.c compile error
Message-ID: <20080217200947.GH1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18235
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

Commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782 causes the following 
compile error:

<--  snip  -->

...
  CC      arch/mips/bcm47xx/setup.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c: In function 'bcm47xx_get_invariants':
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:95: error: 'struct ssb_sprom' has no member named 'r1'
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:97: error: 'struct ssb_sprom' has no member named 'r1'
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:99: error: 'struct ssb_sprom' has no member named 'r1'
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:101: error: 'struct ssb_sprom' has no member named 'r1'
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:103: error: 'struct ssb_sprom' has no member named 'r1'
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:105: error: 'struct ssb_sprom' has no member named 'r1'
make[2]: *** [arch/mips/bcm47xx/setup.o] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From bunk@kernel.org Sun Feb 17 20:11:18 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 20:11:23 +0000 (GMT)
Received: from smtp5.pp.htv.fi ([213.243.153.39]:45740 "EHLO smtp5.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036018AbYBQUKT (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 20:10:19 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp5.pp.htv.fi (Postfix) with ESMTP id 8F02D5BC026;
	Sun, 17 Feb 2008 22:10:18 +0200 (EET)
Date:	Sun, 17 Feb 2008 22:09:51 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: [2.6 patch] mips: finish the Qemu platform removal
Message-ID: <20080217200951.GI1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18236
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

The following files can now be removed:
- arch/mips/configs/qemu_defconfig
- include/asm-mips/qemu.h

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

 arch/mips/configs/qemu_defconfig |  800 -------------------------------
 include/asm-mips/qemu.h          |   30 -
 2 files changed, 830 deletions(-)

c4abfb4f70f2ef471666fefdf9cdc7b8a28888b1 diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig
deleted file mode 100644
index 72ca147..0000000
--- a/arch/mips/configs/qemu_defconfig
+++ /dev/null
@@ -1,800 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20
-# Tue Feb 20 21:47:39 2007
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-CONFIG_ZONE_DMA=y
-# CONFIG_MIPS_MTX1 is not set
-# CONFIG_MIPS_BOSPORUS is not set
-# CONFIG_MIPS_PB1000 is not set
-# CONFIG_MIPS_PB1100 is not set
-# CONFIG_MIPS_PB1500 is not set
-# CONFIG_MIPS_PB1550 is not set
-# CONFIG_MIPS_PB1200 is not set
-# CONFIG_MIPS_DB1000 is not set
-# CONFIG_MIPS_DB1100 is not set
-# CONFIG_MIPS_DB1500 is not set
-# CONFIG_MIPS_DB1550 is not set
-# CONFIG_MIPS_DB1200 is not set
-# CONFIG_MIPS_MIRAGE is not set
-# CONFIG_BASLER_EXCITE is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_WR_PPMC is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_MOMENCO_JAGUAR_ATX is not set
-# CONFIG_MIPS_XXS1500 is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_MARKEINS is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_TOSHIBA_RBTX4938 is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_DMA_COHERENT=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_I8259=y
-CONFIG_CPU_BIG_ENDIAN=y
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_SWAP_IO_SPACE=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-CONFIG_HAVE_STD_PC_SERIAL_PORT=y
-
-#
-# CPU selection
-#
-CONFIG_CPU_MIPS32_R1=y
-# CONFIG_CPU_MIPS32_R2 is not set
-# CONFIG_CPU_MIPS64_R1 is not set
-# CONFIG_CPU_MIPS64_R2 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-# CONFIG_CPU_R5000 is not set
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R10000 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_SYS_HAS_CPU_MIPS32_R1=y
-CONFIG_CPU_MIPS32=y
-CONFIG_CPU_MIPSR1=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-# CONFIG_64BIT is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_8KB is not set
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_CPU_HAS_PREFETCH=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_MIPS_MT_SMP is not set
-# CONFIG_MIPS_MT_SMTC is not set
-# CONFIG_MIPS_VPE_LOADER is not set
-# CONFIG_64BIT_PHYS_ADDR is not set
-CONFIG_CPU_HAS_LLSC=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_HZ_48 is not set
-CONFIG_HZ_100=y
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-# CONFIG_HZ_1000 is not set
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=100
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# Code maturity level options
-#
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_RELAY=y
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-# CONFIG_HOTPLUG is not set
-CONFIG_PRINTK=y
-# CONFIG_BUG is not set
-CONFIG_ELF_CORE=y
-# CONFIG_BASE_FULL is not set
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLAB=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_TINY_SHMEM=y
-CONFIG_BASE_SMALL=1
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-# CONFIG_MODULES is not set
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-
-#
-# Bus options (PCI, PCMCIA, EISA, ISA, TC)
-#
-CONFIG_ISA=y
-CONFIG_MMU=y
-CONFIG_PCSPEAKER=y
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-
-#
-# PCI Hotplug Support
-#
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_TRAD_SIGNALS=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_LEGACY is not set
-# CONFIG_PM_DEBUG is not set
-# CONFIG_PM_SYSFS_DEPRECATED is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-# CONFIG_NETDEBUG is not set
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-CONFIG_NETWORK_SECMARK=y
-# CONFIG_NETFILTER is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-
-#
-# Memory Technology Devices (MTD)
-#
-# CONFIG_MTD is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-# CONFIG_PNP is not set
-# CONFIG_PNPACPI is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# Misc devices
-#
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_NETLINK is not set
-
-#
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
-# CONFIG_ATA is not set
-
-#
-# Old CD-ROM drivers (not SCSI, not IDE)
-#
-# CONFIG_CD_NO_IDESCSI is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_MII is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_DM9000 is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_DEPCA is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_ISA=y
-# CONFIG_E2100 is not set
-# CONFIG_EWRK3 is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_LP486E is not set
-# CONFIG_ETH16I is not set
-CONFIG_NE2000=y
-# CONFIG_NET_PCI is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-
-#
-# Dallas's 1-wire bus
-#
-# CONFIG_W1 is not set
-
-#
-# Hardware Monitoring support
-#
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_VID is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# Graphics support
-#
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# HID Devices
-#
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-
-#
-# USB support
-#
-# CONFIG_USB_ARCH_HAS_HCD is not set
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# LED devices
-#
-# CONFIG_NEW_LEDS is not set
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-
-#
-# InfiniBand support
-#
-
-#
-# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
-#
-
-#
-# Real Time Clock
-#
-
-#
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
-# Auxiliary Display support
-#
-
-#
-# Virtualization
-#
-
-#
-# File systems
-#
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-CONFIG_FUSE_FS=y
-CONFIG_GENERIC_ACL=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_DIRECTIO=y
-# CONFIG_NFSD is not set
-CONFIG_ROOT_NFS=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-# CONFIG_NLS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CROSSCOMPILE=y
-CONFIG_CMDLINE=""
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
diff --git a/include/asm-mips/qemu.h b/include/asm-mips/qemu.h
deleted file mode 100644
index 487ced4..0000000
--- a/include/asm-mips/qemu.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2005 by Ralf Baechle (ralf@linux-mips.org)
- */
-#ifndef __ASM_QEMU_H
-#define __ASM_QEMU_H
-
-/*
- * Interrupt numbers
- */
-#define Q_PIC_IRQ_BASE		0
-#define Q_COUNT_COMPARE_IRQ	23
-
-/*
- * Qemu clock rate.  Unlike on real MIPS this has no relation to the
- * instruction issue rate, so the choosen value is pure fiction, just needs
- * to match the value in Qemu itself.
- */
-#define QEMU_C0_COUNTER_CLOCK	100000000
-
-/*
- * Magic qemu system control location.
- */
-#define QEMU_RESTART_REG	0xBFBF0000
-#define QEMU_HALT_REG		0xBFBF0004
-
-#endif /* __ASM_QEMU_H */


From bunk@kernel.org Sun Feb 17 20:11:44 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 20:11:48 +0000 (GMT)
Received: from smtp4.pp.htv.fi ([213.243.153.38]:59856 "EHLO smtp4.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036025AbYBQUKV (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 20:10:21 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp4.pp.htv.fi (Postfix) with ESMTP id 40C435BC016;
	Sun, 17 Feb 2008 22:10:21 +0200 (EET)
Date:	Sun, 17 Feb 2008 22:09:53 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Manuel Lauss <mano@roarinelk.homelinux.net>,
	Jean Delvare <khali@linux-fr.org>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: mips SMBUS_PSC_BASE compile errors
Message-ID: <20080217200953.GJ1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18237
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 causes compile errors 
like the following for several system types:

<--  snip  -->

...
  CC      arch/mips/au1000/common/platform.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:277: error: 'PSC0_BASE_ADDR' undeclared here (not in a function)
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:314: warning: no previous prototype for 'au1xxx_platform_init'
make[2]: *** [arch/mips/au1000/common/platform.o] Error 1

<--  snip  -->

One or more #include <asm/mach-au1x00/au1xxx_psc.h>'s at the right 
places seem to be the correct solution, but I don't understand the mips 
subarch setup good enough for knowing where to place them.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From bunk@kernel.org Sun Feb 17 22:00:16 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 17 Feb 2008 22:00:19 +0000 (GMT)
Received: from smtp4.pp.htv.fi ([213.243.153.38]:39653 "EHLO smtp4.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036186AbYBQWAQ (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 17 Feb 2008 22:00:16 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp4.pp.htv.fi (Postfix) with ESMTP id 51B115BC002;
	Mon, 18 Feb 2008 00:00:16 +0200 (EET)
Date:	Sun, 17 Feb 2008 23:59:48 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: [2.6.25 patch] mips: fix SNI_RM EISA=n compilation
Message-ID: <20080217215948.GL1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18238
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

This patch fixes the following build error with CONFIG_EISA=n caused by 
commit 231a35d37293ab88d325a9cb94e5474c156282c0:

<--  snip -->

...
  LD      .tmp_vmlinux1
arch/mips/sni/built-in.o: In function `snirm_a20r_setup_devinit':
a20r.c:(.init.text+0x42c): undefined reference to `sni_eisa_root_init'
a20r.c:(.init.text+0x42c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
arch/mips/sni/built-in.o: In function `snirm_setup_devinit':
rm200.c:(.init.text+0x52c): undefined reference to `sni_eisa_root_init'
rm200.c:(.init.text+0x52c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
make[1]: *** [.tmp_vmlinux1] Error 1

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
f6a6c34454cbe463e2d8d567d9e0659161a82a72 diff --git a/include/asm-mips/sni.h b/include/asm-mips/sni.h
index e716447..8c1eb02 100644
--- a/include/asm-mips/sni.h
+++ b/include/asm-mips/sni.h
@@ -228,7 +228,14 @@ extern void sni_pcimt_irq_init(void);
 extern void sni_cpu_time_init(void);
 
 /* eisa init for RM200/400 */
+#ifdef CONFIG_EISA
 extern int sni_eisa_root_init(void);
+#else
+static inline int sni_eisa_root_init(void)
+{
+	return 0;
+}
+#endif
 
 /* common irq stuff */
 extern void (*sni_hwint)(void);

From bunk@kernel.org Mon Feb 18 00:43:15 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 00:43:18 +0000 (GMT)
Received: from smtp5.pp.htv.fi ([213.243.153.39]:51666 "EHLO smtp5.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036429AbYBRAnP (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 00:43:15 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp5.pp.htv.fi (Postfix) with ESMTP id F21845BC016;
	Mon, 18 Feb 2008 02:43:14 +0200 (EET)
Date:	Mon, 18 Feb 2008 02:42:46 +0200
From:	Adrian Bunk <bunk@kernel.org>
To:	Christoph Lameter <clameter@sgi.com>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: mips yosemite_defconfig compile error
Message-ID: <20080218004246.GN1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <bunk@kernel.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18239
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: bunk@kernel.org
Precedence: bulk
X-list: linux-mips

Commit 9e2779fa281cfda13ac060753d674bbcaa23367e also broke the
mips yosemite_defconfig:

<--  snip  -->

...
  CC      arch/mips/kernel/asm-offsets.s
In file included from 
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/kernel/asm-offsets.c:14:
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h: In function 'is_vmalloc_addr':
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h:243: error: 'PKMAP_BASE' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h:243: error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h:243: error: for each function it appears in.)
make[2]: *** [arch/mips/kernel/asm-offsets.s] Error 1

<--  snip  -->

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From adrian.bunk@movial.fi Mon Feb 18 01:03:43 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 01:03:45 +0000 (GMT)
Received: from smtp4.pp.htv.fi ([213.243.153.38]:7568 "EHLO smtp4.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S20036464AbYBRBDn (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 01:03:43 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp4.pp.htv.fi (Postfix) with ESMTP id 74AAF5BC006;
	Mon, 18 Feb 2008 03:03:42 +0200 (EET)
Date:	Mon, 18 Feb 2008 03:03:14 +0200
From:	Adrian Bunk <adrian.bunk@movial.fi>
To:	linux-mips@linux-mips.org
Cc:	Aurelien Jarno <aurelien@aurel32.net>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: mips: compile testing of 2.6.25-rc2
Message-ID: <20080218010314.GO1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <adrian.bunk@movial.fi>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18240
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: adrian.bunk@movial.fi
Precedence: bulk
X-list: linux-mips

I did a compile testing of all mips defconfigs in 2.6.25-rc2.

The results were:


Systems without a defconfig:

CONFIG_BCM47XX
CONFIG_SGI_IP28
CONFIG_SIBYTE_CRHINE
CONFIG_SIBYTE_CARMEL
CONFIG_SIBYTE_CRHONE
CONFIG_SIBYTE_RHONE
CONFIG_SIBYTE_LITTLESUR
CONFIG_SIBYTE_SENTOSA

Can people using these systems provide defconfig's for them?
A defconfig is nothing special, it's enough to simply put the .config 
used for one machine into arch/mips/configs/ .


Patches sent for 2.6.25-rc2 regressions:

bigsur_defconfig [1]
rm200_defconfig [2]


Bug reports sent for 2.6.25-rc2 regressions:

cobalt_defconfig [3.4]
db1200_defconfig [5]
db1550_defconfig [5]
pb1550_defconfig [5]
yosemite_defconfig [6]
CONFIG_BCM47XX [7]


Broken before 2.6.24:

decstation_defconfig
  CC      arch/mips/dec/time.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/dec/time.c: In function 'plat_time_init':
/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/dec/time.c:164: error: 'mips_timer_ack' undeclared (first use in this function)

msp71xx_defconfig
  CC      arch/mips/pmc-sierra/msp71xx/msp_setup.o
arch/mips/pmc-sierra/msp71xx/msp_setup.c:24:22: error: msp_gpio.h: No such file or directory


Missing support in upstream gcc:

sb1250-swarm_defconfig
  CC [M]  fs/configfs/inode.o
cc1: error: unrecognized command line option "-msb1-pass1-workarounds"

CONFIG_SGI_IP28
  CALL    /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/checksyscalls.sh
cc1: error: unrecognized command line option "-mr10k-cache-barrier=1"

I tried with a plain gcc 4.2.3, and grep'ed in the gcc SVN head.
I don't know which special gcc versions have these options added, but 
when they are used by the kernel they should also go into upstream gcc.


Patch sent for removal of obsolete defconfig:

qemu_defconfig [8]


cu
Adrian

BTW: Please Cc me on replies.

[1] http://lkml.org/lkml/2008/2/17/296
[2] http://lkml.org/lkml/2008/2/17/346
[3] http://lkml.org/lkml/2008/2/17/295
[4] http://lkml.org/lkml/2008/2/17/293
[5] http://lkml.org/lkml/2008/2/17/299
[6] http://lkml.org/lkml/2008/2/17/383
[7] http://lkml.org/lkml/2008/2/17/297
[8] http://lkml.org/lkml/2008/2/17/298

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


From yoichi_yuasa@tripeaks.co.jp Mon Feb 18 02:58:29 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 02:58:32 +0000 (GMT)
Received: from mo31.po.2iij.NET ([210.128.50.54]:46599 "EHLO mo31.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20036560AbYBRC63 (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 02:58:29 +0000
Received: by mo.po.2iij.net (mo31) id m1I2wP8C080517; Mon, 18 Feb 2008 11:58:25 +0900 (JST)
Received: from localhost (65.126.232.202.bf.2iij.net [202.232.126.65])
	by mbox.po.2iij.net (po-mbox300) id m1I2wNLm020911
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 18 Feb 2008 11:58:23 +0900
Date:	Mon, 18 Feb 2008 11:58:24 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Adrian Bunk <bunk@stusta.de>
Cc:	yoichi_yuasa@tripeaks.co.jp, Dmitry Torokhov <dtor@mail.ru>,
	ralf@linux-mips.org, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: cobalt_btns.c <-> struct platform_device compile error
Message-Id: <20080218115824.3ae7cf29.yoichi_yuasa@tripeaks.co.jp>
In-Reply-To: <20080217200935.GE1403@cs181133002.pp.htv.fi>
References: <20080217200935.GE1403@cs181133002.pp.htv.fi>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed version 2.3.0beta5 (GTK+ 2.8.20; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18241
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips

Hi,

I already sent a patch to Dmitry.

Yoichi

On Sun, 17 Feb 2008 22:09:35 +0200
Adrian Bunk <bunk@stusta.de> wrote:

> Commit b037b08e59633d939d79f1df9c43c6625f8db904 broke the compilation of 
> cobalt_btns.c:
> 
> <--  snip  -->
> 
> ...
>   CC      drivers/input/misc/cobalt_btns.o
> ...
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c: In function 'cobalt_buttons_probe':
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:101: error: 'struct platform_device' has no member named 'keymap'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/input/misc/cobalt_btns.c:102: error: 'struct platform_device' has no member named 'keymap'
> ...
> make[4]: *** [drivers/input/misc/cobalt_btns.o] Error 1
> 
> <--  snip  -->
> 
> cu
> Adrian
> 
> -- 
> 
>        "Is there not promise of rain?" Ling Tan asked suddenly out
>         of the darkness. There had been need of rain for many days.
>        "Only a promise," Lao Er said.
>                                        Pearl S. Buck - Dragon Seed
> 
> 

From aurelien@aurel32.net Mon Feb 18 07:50:01 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 07:50:04 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:33695 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20024027AbYBRHuB (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 07:50:01 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR0ky-0002QW-HY; Mon, 18 Feb 2008 08:49:44 +0100
Date:	Mon, 18 Feb 2008 08:49:44 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Adrian Bunk <bunk@kernel.org>
Cc:	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: mips/bcm47xx/setup.c compile error
Message-ID: <20080218074944.GA9317@hall.aurel32.net>
Mail-Followup-To: Aurelien Jarno <aurelien@aurel32.net>,
	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
References: <20080217200947.GH1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080217200947.GH1403@cs181133002.pp.htv.fi>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18243
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 1463
Lines: 27

On Sun, Feb 17, 2008 at 10:09:47PM +0200, Adrian Bunk wrote:
> Commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782 causes the following 
> compile error:
> 
> <--  snip  -->
> 
> ...
>   CC      arch/mips/bcm47xx/setup.o
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c: In function 'bcm47xx_get_invariants':
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:95: error: 'struct ssb_sprom' has no member named 'r1'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:97: error: 'struct ssb_sprom' has no member named 'r1'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:99: error: 'struct ssb_sprom' has no member named 'r1'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:101: error: 'struct ssb_sprom' has no member named 'r1'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:103: error: 'struct ssb_sprom' has no member named 'r1'
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:105: error: 'struct ssb_sprom' has no member named 'r1'
> make[2]: *** [arch/mips/bcm47xx/setup.o] Error 1
> 

It has been broken by commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782. I
am working on a fix.


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From aurelien@aurel32.net Mon Feb 18 07:51:02 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 07:51:04 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:47263 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20023750AbYBRHvC (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 07:51:02 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR0m6-0002YF-QH; Mon, 18 Feb 2008 08:50:54 +0100
Date:	Mon, 18 Feb 2008 08:50:54 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Adrian Bunk <adrian.bunk@movial.fi>
Cc:	linux-mips@linux-mips.org,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: mips: compile testing of 2.6.25-rc2
Message-ID: <20080218075054.GB9317@hall.aurel32.net>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080218010314.GO1403@cs181133002.pp.htv.fi>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18244
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 872
Lines: 29

On Mon, Feb 18, 2008 at 03:03:14AM +0200, Adrian Bunk wrote:
> I did a compile testing of all mips defconfigs in 2.6.25-rc2.
> 
> The results were:
> 
> 
> Systems without a defconfig:
> 
> CONFIG_BCM47XX
> CONFIG_SGI_IP28
> CONFIG_SIBYTE_CRHINE
> CONFIG_SIBYTE_CARMEL
> CONFIG_SIBYTE_CRHONE
> CONFIG_SIBYTE_RHONE
> CONFIG_SIBYTE_LITTLESUR
> CONFIG_SIBYTE_SENTOSA
> 
> Can people using these systems provide defconfig's for them?
> A defconfig is nothing special, it's enough to simply put the .config 
> used for one machine into arch/mips/configs/ .

I will work on a defconfig for the BCM47XX platform when the build
failure is fixed.

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From aurelien@aurel32.net Mon Feb 18 10:01:48 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 10:01:51 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:57989 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20027096AbYBRKBs (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 10:01:48 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR2oQ-000678-4s; Mon, 18 Feb 2008 11:01:26 +0100
Date:	Mon, 18 Feb 2008 11:01:26 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: mips/bcm47xx/setup.c compile error
Message-ID: <20080218100126.GA22519@hall.aurel32.net>
Mail-Followup-To: Aurelien Jarno <aurelien@aurel32.net>,
	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
References: <20080217200947.GH1403@cs181133002.pp.htv.fi> <20080218074944.GA9317@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080218074944.GA9317@hall.aurel32.net>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18245
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 2035
Lines: 37

On Mon, Feb 18, 2008 at 08:49:44AM +0100, Aurelien Jarno wrote:
> On Sun, Feb 17, 2008 at 10:09:47PM +0200, Adrian Bunk wrote:
> > Commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782 causes the following 
> > compile error:
> > 
> > <--  snip  -->
> > 
> > ...
> >   CC      arch/mips/bcm47xx/setup.o
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c: In function 'bcm47xx_get_invariants':
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:95: error: 'struct ssb_sprom' has no member named 'r1'
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:97: error: 'struct ssb_sprom' has no member named 'r1'
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:99: error: 'struct ssb_sprom' has no member named 'r1'
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:101: error: 'struct ssb_sprom' has no member named 'r1'
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:103: error: 'struct ssb_sprom' has no member named 'r1'
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/bcm47xx/setup.c:105: error: 'struct ssb_sprom' has no member named 'r1'
> > make[2]: *** [arch/mips/bcm47xx/setup.o] Error 1
> > 
> 
> It has been broken by commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782. I
> am working on a fix.

This commit has removed the r1 version of the SPROM data structure in
favor of a version independant structure. However, it hasn't changed the
other parts of code that are still using the r1 version.

Two patches are needed to fix that, one for the SSB subsystem, one for
the BCM47XX platform. I will send them in separate emails. 

I have tested them on a WGT634U machine, with the following patch:
http://www.linux-mips.org/archives/linux-mips/2008-02/msg00041.html

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From aurelien@aurel32.net Mon Feb 18 10:03:11 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 10:03:14 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:12422 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20027096AbYBRKDL (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 10:03:11 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR2pt-0006BJ-El; Mon, 18 Feb 2008 11:02:57 +0100
Date:	Mon, 18 Feb 2008 11:02:57 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Michael Buesch <mb@bu3sch.de>
Cc:	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: [PATCH] [SSB] PCI core driver: use new SPROM data structure
Message-ID: <20080218100257.GB22519@hall.aurel32.net>
Mail-Followup-To: Aurelien Jarno <aurelien@aurel32.net>,
	Michael Buesch <mb@bu3sch.de>, Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
References: <20080217200947.GH1403@cs181133002.pp.htv.fi> <20080218074944.GA9317@hall.aurel32.net> <20080218100126.GA22519@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080218100126.GA22519@hall.aurel32.net>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18246
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 987
Lines: 29

Switch the SSB PCI core driver to the new SPROM data structure now that
the old one has been removed.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 drivers/ssb/driver_pcicore.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 2faaa90..191db7a 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
 	    chipid_top != 0x5300)
 		return 0;
 
-	if (bus->sprom.r1.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
+	if (bus->sprom.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
 		return 0;
 
 	/* The 200-pin BCM4712 package does not bond out PCI. Even when
-- 
1.5.4.1

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From aurelien@aurel32.net Mon Feb 18 10:04:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 10:04:48 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:40917 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20027052AbYBRKEp (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 10:04:45 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR2rP-0006Bw-6v; Mon, 18 Feb 2008 11:04:31 +0100
Date:	Mon, 18 Feb 2008 11:04:31 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: [MIPS] BCM47XX: use new SSB SPROM data structure
Message-ID: <20080218100431.GC22519@hall.aurel32.net>
Mail-Followup-To: Aurelien Jarno <aurelien@aurel32.net>,
	Ralf Baechle <ralf@linux-mips.org>, Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
References: <20080217200947.GH1403@cs181133002.pp.htv.fi> <20080218074944.GA9317@hall.aurel32.net> <20080218100126.GA22519@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080218100126.GA22519@hall.aurel32.net>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18247
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 2237
Lines: 59

Switch the BCM47XX code to the new SPROM data structure now that
the old one has been removed.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/bcm47xx/setup.c   |   12 ++++++------
 arch/mips/bcm47xx/wgt634u.c |    2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index 1b6b0fa..8d36f18 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -92,17 +92,17 @@ static int bcm47xx_get_invariants(struct ssb_bus *bus,
 	iv->sprom.revision = 3;
 
 	if (cfe_getenv("et0macaddr", buf, sizeof(buf)) >= 0)
-		str2eaddr(buf, iv->sprom.r1.et0mac);
+		str2eaddr(buf, iv->sprom.et0mac);
 	if (cfe_getenv("et1macaddr", buf, sizeof(buf)) >= 0)
-		str2eaddr(buf, iv->sprom.r1.et1mac);
+		str2eaddr(buf, iv->sprom.et1mac);
 	if (cfe_getenv("et0phyaddr", buf, sizeof(buf)) >= 0)
-		iv->sprom.r1.et0phyaddr = simple_strtoul(buf, NULL, 10);
+		iv->sprom.et0phyaddr = simple_strtoul(buf, NULL, 10);
 	if (cfe_getenv("et1phyaddr", buf, sizeof(buf)) >= 0)
-		iv->sprom.r1.et1phyaddr = simple_strtoul(buf, NULL, 10);
+		iv->sprom.et1phyaddr = simple_strtoul(buf, NULL, 10);
 	if (cfe_getenv("et0mdcport", buf, sizeof(buf)) >= 0)
-		iv->sprom.r1.et0mdcport = simple_strtoul(buf, NULL, 10);
+		iv->sprom.et0mdcport = simple_strtoul(buf, NULL, 10);
 	if (cfe_getenv("et1mdcport", buf, sizeof(buf)) >= 0)
-		iv->sprom.r1.et1mdcport = simple_strtoul(buf, NULL, 10);
+		iv->sprom.et1mdcport = simple_strtoul(buf, NULL, 10);
 
 	return 0;
 }
diff --git a/arch/mips/bcm47xx/wgt634u.c b/arch/mips/bcm47xx/wgt634u.c
index 5a017ea..f21a206 100644
--- a/arch/mips/bcm47xx/wgt634u.c
+++ b/arch/mips/bcm47xx/wgt634u.c
@@ -50,7 +50,7 @@ static int __init wgt634u_init(void)
 	 * been allocated ranges 00:09:5b:xx:xx:xx and 00:0f:b5:xx:xx:xx.
 	 */
 
-	u8 *et0mac = ssb_bcm47xx.sprom.r1.et0mac;
+	u8 *et0mac = ssb_bcm47xx.sprom.et0mac;
 
 	if (et0mac[0] == 0x00 &&
 	    ((et0mac[1] == 0x09 && et0mac[2] == 0x5b) ||
-- 
1.5.4.1


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From mano@roarinelk.homelinux.net Mon Feb 18 10:21:47 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 10:21:50 +0000 (GMT)
Received: from fnoeppeil48.netpark.at ([217.175.205.176]:61153 "EHLO
	roarinelk.homelinux.net") by ftp.linux-mips.org with ESMTP
	id S20027477AbYBRKVr (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 10:21:47 +0000
Received: (qmail 7307 invoked by uid 1000); 18 Feb 2008 11:21:46 +0100
Date:	Mon, 18 Feb 2008 11:21:46 +0100
From:	Manuel Lauss <mano@roarinelk.homelinux.net>
To:	Adrian Bunk <bunk@kernel.org>
Cc:	Jean Delvare <khali@linux-fr.org>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: mips SMBUS_PSC_BASE compile errors
Message-ID: <20080218102146.GA7282@roarinelk.homelinux.net>
References: <20080217200953.GJ1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080217200953.GJ1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.16 (2007-06-09)
Return-Path: <mano@roarinelk.homelinux.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18248
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mano@roarinelk.homelinux.net
Precedence: bulk
X-list: linux-mips
Content-Length: 496
Lines: 10

> ...
>   CC      arch/mips/au1000/common/platform.o
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:277: error: 'PSC0_BASE_ADDR' undeclared here (not in a function)
> /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:314: warning: no previous prototype for 'au1xxx_platform_init'
> make[2]: *** [arch/mips/au1000/common/platform.o] Error 1

Thanks, here's a patch. The db1200/pb1550 defconfigs (+ i2c enabled) compile
fine with it:

---

From 0300b5b756561de57e09d49b06f608f2d541c3f3 Mon Sep 17 00:00:00 2001
From: Manuel Lauss <mano@roarinelk.homelinux.net>
Date: Mon, 18 Feb 2008 11:12:20 +0100
Subject: [PATCH] Alchemy: compile fix
Content-Length: 1985
Lines: 62

Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 broke
alchemy build, fix it.  Pointed out by Adrian Bunk.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
---
 include/asm-mips/mach-db1x00/db1200.h |    1 +
 include/asm-mips/mach-db1x00/db1x00.h |    1 +
 include/asm-mips/mach-pb1x00/pb1200.h |    1 +
 include/asm-mips/mach-pb1x00/pb1550.h |    1 +
 4 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/asm-mips/mach-db1x00/db1200.h b/include/asm-mips/mach-db1x00/db1200.h
index 050eae8..a6bdac6 100644
--- a/include/asm-mips/mach-db1x00/db1200.h
+++ b/include/asm-mips/mach-db1x00/db1200.h
@@ -25,6 +25,7 @@
 #define __ASM_DB1200_H
 
 #include <linux/types.h>
+#include <asm/mach-au1x00/au1xxx_psc.h>
 
 // This is defined in au1000.h with bogus value
 #undef AU1X00_EXTERNAL_INT
diff --git a/include/asm-mips/mach-db1x00/db1x00.h b/include/asm-mips/mach-db1x00/db1x00.h
index 0f5f4c2..e7a88ba 100644
--- a/include/asm-mips/mach-db1x00/db1x00.h
+++ b/include/asm-mips/mach-db1x00/db1x00.h
@@ -28,6 +28,7 @@
 #ifndef __ASM_DB1X00_H
 #define __ASM_DB1X00_H
 
+#include <asm/mach-au1x00/au1xxx_psc.h>
 
 #ifdef CONFIG_MIPS_DB1550
 
diff --git a/include/asm-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h
index d9f384a..ed5fd73 100644
--- a/include/asm-mips/mach-pb1x00/pb1200.h
+++ b/include/asm-mips/mach-pb1x00/pb1200.h
@@ -25,6 +25,7 @@
 #define __ASM_PB1200_H
 
 #include <linux/types.h>
+#include <asm/mach-au1x00/au1xxx_psc.h>
 
 // This is defined in au1000.h with bogus value
 #undef AU1X00_EXTERNAL_INT
diff --git a/include/asm-mips/mach-pb1x00/pb1550.h b/include/asm-mips/mach-pb1x00/pb1550.h
index 9a4955c..c2ab0e2 100644
--- a/include/asm-mips/mach-pb1x00/pb1550.h
+++ b/include/asm-mips/mach-pb1x00/pb1550.h
@@ -28,6 +28,7 @@
 #define __ASM_PB1550_H
 
 #include <linux/types.h>
+#include <asm/mach-au1x00/au1xxx_psc.h>
 
 #define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
 #define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
-- 
1.5.4


From aurelien@aurel32.net Mon Feb 18 11:23:35 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 11:23:39 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:50858 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S20029352AbYBRLXf (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 11:23:35 +0000
Received: from aurel32 by hall.aurel32.net with local (Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JR45n-0008N1-8R; Mon, 18 Feb 2008 12:23:27 +0100
Date:	Mon, 18 Feb 2008 12:23:27 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org, Adrian Bunk <adrian.bunk@movial.fi>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: [PATCH] [MIPS] BCM47xx defconfig file.
Message-ID: <20080218112327.GA32094@hall.aurel32.net>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
In-Reply-To: <20080218010314.GO1403@cs181133002.pp.htv.fi>
X-Mailer: Mutt 1.5.13 (2006-08-11)
User-Agent: Mutt/1.5.13 (2006-08-11)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18249
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 46862
Lines: 1960

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/configs/bcm47xx_defconfig | 1939 +++++++++++++++++++++++++++++++++++
 1 files changed, 1939 insertions(+), 0 deletions(-)
 create mode 100644 arch/mips/configs/bcm47xx_defconfig

diff --git a/arch/mips/configs/bcm47xx_defconfig b/arch/mips/configs/bcm47xx_defconfig
new file mode 100644
index 0000000..c0e42e7
--- /dev/null
+++ b/arch/mips/configs/bcm47xx_defconfig
@@ -0,0 +1,1939 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.25-rc2
+# Mon Feb 18 11:55:24 2008
+#
+CONFIG_MIPS=y
+
+#
+# Machine selection
+#
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_BASLER_EXCITE is not set
+CONFIG_BCM47XX=y
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_LEMOTE_FULONG is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
+CONFIG_CEVT_R4K=y
+CONFIG_CSRC_R4K=y
+CONFIG_CFE=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_DMA_NEED_PCI_MAP_STATE=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+# CONFIG_HOTPLUG_CPU is not set
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_GPIO=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# CPU selection
+#
+# CONFIG_CPU_LOONGSON2 is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+
+#
+# Kernel type
+#
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_RCU_TRACE=y
+CONFIG_KEXEC=y
+# CONFIG_SECCOMP is not set
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_RESOURCE_COUNTERS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_RELAY=y
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_HAVE_KPROBES is not set
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_LSF=y
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_PCI_LEGACY=y
+CONFIG_MMU=y
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=m
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Power management options
+#
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=y
+CONFIG_TCP_CONG_CUBIC=m
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_BIC=y
+# CONFIG_DEFAULT_CUBIC is not set
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="bic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+CONFIG_IP_DCCP_ACKVEC=y
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+CONFIG_IP_DCCP_CCID2=m
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=m
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=m
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+CONFIG_TIPC=m
+CONFIG_TIPC_ADVANCED=y
+CONFIG_TIPC_ZONES=3
+CONFIG_TIPC_CLUSTERS=1
+CONFIG_TIPC_NODES=255
+CONFIG_TIPC_SLAVE_NODES=0
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_LOG=0
+# CONFIG_TIPC_DEBUG is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RR=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+# CONFIG_NET_CLS_FLOW is not set
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+# CONFIG_BT_L2CAP is not set
+# CONFIG_BT_SCO is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_AF_RXRPC is not set
+CONFIG_FIB_RULES=y
+
+#
+# Wireless
+#
+CONFIG_CFG80211=m
+CONFIG_NL80211=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_MAC80211=m
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_SIMPLE is not set
+# CONFIG_MAC80211_RC_DEFAULT_NONE is not set
+
+#
+# Selecting 'y' for an algorithm will
+#
+
+#
+# build the algorithm into mac80211.
+#
+CONFIG_MAC80211_RC_DEFAULT="pid"
+CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211_RC_SIMPLE is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set
+# CONFIG_MAC80211_DEBUG is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_RAM=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_ABSENT=y
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_MISC_DEVICES=y
+# CONFIG_PHANTOM is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_IFB is not set
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_FIXED_PHY is not set
+CONFIG_MDIO_BITBANG=m
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_B44=y
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+# CONFIG_FORCEDETH is not set
+# CONFIG_TC35815 is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R6040 is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_LIBERTAS is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_ADM8211 is not set
+# CONFIG_P54_COMMON is not set
+CONFIG_ATH5K=m
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+# CONFIG_RT2X00 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+# CONFIG_ATM_LANAI is not set
+# CONFIG_ATM_ENI is not set
+# CONFIG_ATM_FIRESTREAM is not set
+# CONFIG_ATM_ZATM is not set
+# CONFIG_ATM_NICSTAR is not set
+# CONFIG_ATM_IDT77252 is not set
+# CONFIG_ATM_AMBASSADOR is not set
+# CONFIG_ATM_HORIZON is not set
+# CONFIG_ATM_IA is not set
+# CONFIG_ATM_FORE200E_MAYBE is not set
+# CONFIG_ATM_HE is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+# CONFIG_PPPOL2TP is not set
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=y
+# CONFIG_NETCONSOLE_DYNAMIC is not set
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+# CONFIG_W1_MASTER_GPIO is not set
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SSB=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+# CONFIG_SSB_SILENT is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_SERIAL=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_PCICORE_HOSTMODE=y
+CONFIG_SSB_DRIVER_MIPS=y
+CONFIG_SSB_DRIVER_EXTIF=y
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_HIFIER is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# ALSA MIPS devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# System on Chip audio support
+#
+# CONFIG_SND_SOC is not set
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# ALSA SoC audio for Freescale SOCs
+#
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+CONFIG_USB_U132_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_R8A66597_HCD=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+# CONFIG_USB_STORAGE_ISD200 is not set
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+# CONFIG_USB_SERIAL_IUU is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+# CONFIG_USB_SERIAL_TI is not set
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_GPIO=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_INFINIBAND is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_SECURITY=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_NOLOCK=m
+CONFIG_GFS2_FS_LOCKING_DLM=m
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS_FS=m
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_GENERIC_ACL=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+
+#
+# Miscellaneous filesystems
+#
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_JFFS2_FS_POSIX_ACL=y
+CONFIG_JFFS2_FS_SECURITY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_ROMFS_FS=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BIND34=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+# CONFIG_CODA_FS_OLD_API is not set
+# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=m
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+CONFIG_DLM_DEBUG=y
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SAMPLES is not set
+CONFIG_CMDLINE=""
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_SEQIV is not set
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_XTS=m
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_SEED=m
+# CONFIG_CRYPTO_SALSA20 is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
-- 
1.5.4.1


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From khali@linux-fr.org Mon Feb 18 11:50:01 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 11:50:05 +0000 (GMT)
Received: from smtp-101-monday.noc.nerim.net ([62.4.17.101]:31748 "EHLO
	mallaury.nerim.net") by ftp.linux-mips.org with ESMTP
	id S20035380AbYBRLuB (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 11:50:01 +0000
Received: from hyperion.delvare (jdelvare.pck.nerim.net [62.212.121.182])
	by mallaury.nerim.net (Postfix) with ESMTP id 7C2B74F432;
	Mon, 18 Feb 2008 12:49:41 +0100 (CET)
Date:	Mon, 18 Feb 2008 12:49:47 +0100
From:	Jean Delvare <khali@linux-fr.org>
To:	Manuel Lauss <mano@roarinelk.homelinux.net>
Cc:	Adrian Bunk <bunk@kernel.org>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: mips SMBUS_PSC_BASE compile errors
Message-ID: <20080218124947.2a768c05@hyperion.delvare>
In-Reply-To: <20080218102146.GA7282@roarinelk.homelinux.net>
References: <20080217200953.GJ1403@cs181133002.pp.htv.fi>
	<20080218102146.GA7282@roarinelk.homelinux.net>
X-Mailer: Sylpheed-Claws 2.5.5 (GTK+ 2.10.6; x86_64-suse-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <khali@linux-fr.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18250
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: khali@linux-fr.org
Precedence: bulk
X-list: linux-mips
Content-Length: 2984
Lines: 82

On Mon, 18 Feb 2008 11:21:46 +0100, Manuel Lauss wrote:
> > ...
> >   CC      arch/mips/au1000/common/platform.o
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:277: error: 'PSC0_BASE_ADDR' undeclared here (not in a function)
> > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:314: warning: no previous prototype for 'au1xxx_platform_init'
> > make[2]: *** [arch/mips/au1000/common/platform.o] Error 1
> 
> Thanks, here's a patch. The db1200/pb1550 defconfigs (+ i2c enabled) compile
> fine with it:
> 
> ---
> 
> From 0300b5b756561de57e09d49b06f608f2d541c3f3 Mon Sep 17 00:00:00 2001
> From: Manuel Lauss <mano@roarinelk.homelinux.net>
> Date: Mon, 18 Feb 2008 11:12:20 +0100
> Subject: [PATCH] Alchemy: compile fix
> 
> Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 broke
> alchemy build, fix it.  Pointed out by Adrian Bunk.
> 
> Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
> ---
>  include/asm-mips/mach-db1x00/db1200.h |    1 +
>  include/asm-mips/mach-db1x00/db1x00.h |    1 +
>  include/asm-mips/mach-pb1x00/pb1200.h |    1 +
>  include/asm-mips/mach-pb1x00/pb1550.h |    1 +
>  4 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/include/asm-mips/mach-db1x00/db1200.h b/include/asm-mips/mach-db1x00/db1200.h
> index 050eae8..a6bdac6 100644
> --- a/include/asm-mips/mach-db1x00/db1200.h
> +++ b/include/asm-mips/mach-db1x00/db1200.h
> @@ -25,6 +25,7 @@
>  #define __ASM_DB1200_H
>  
>  #include <linux/types.h>
> +#include <asm/mach-au1x00/au1xxx_psc.h>
>  
>  // This is defined in au1000.h with bogus value
>  #undef AU1X00_EXTERNAL_INT
> diff --git a/include/asm-mips/mach-db1x00/db1x00.h b/include/asm-mips/mach-db1x00/db1x00.h
> index 0f5f4c2..e7a88ba 100644
> --- a/include/asm-mips/mach-db1x00/db1x00.h
> +++ b/include/asm-mips/mach-db1x00/db1x00.h
> @@ -28,6 +28,7 @@
>  #ifndef __ASM_DB1X00_H
>  #define __ASM_DB1X00_H
>  
> +#include <asm/mach-au1x00/au1xxx_psc.h>
>  
>  #ifdef CONFIG_MIPS_DB1550
>  
> diff --git a/include/asm-mips/mach-pb1x00/pb1200.h b/include/asm-mips/mach-pb1x00/pb1200.h
> index d9f384a..ed5fd73 100644
> --- a/include/asm-mips/mach-pb1x00/pb1200.h
> +++ b/include/asm-mips/mach-pb1x00/pb1200.h
> @@ -25,6 +25,7 @@
>  #define __ASM_PB1200_H
>  
>  #include <linux/types.h>
> +#include <asm/mach-au1x00/au1xxx_psc.h>
>  
>  // This is defined in au1000.h with bogus value
>  #undef AU1X00_EXTERNAL_INT
> diff --git a/include/asm-mips/mach-pb1x00/pb1550.h b/include/asm-mips/mach-pb1x00/pb1550.h
> index 9a4955c..c2ab0e2 100644
> --- a/include/asm-mips/mach-pb1x00/pb1550.h
> +++ b/include/asm-mips/mach-pb1x00/pb1550.h
> @@ -28,6 +28,7 @@
>  #define __ASM_PB1550_H
>  
>  #include <linux/types.h>
> +#include <asm/mach-au1x00/au1xxx_psc.h>
>  
>  #define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
>  #define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX

As the breakage came through my i2c tree, I guess I am supposed to push
this fix as well?

-- 
Jean Delvare

From tsbogend@alpha.franken.de Mon Feb 18 12:23:12 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 12:23:15 +0000 (GMT)
Received: from elvis.franken.de ([193.175.24.41]:6107 "EHLO elvis.franken.de")
	by ftp.linux-mips.org with ESMTP id S20036202AbYBRMXM (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 12:23:12 +0000
Received: from uucp (helo=solo.franken.de)
	by elvis.franken.de with local-bsmtp (Exim 3.36 #1)
	id 1JR51a-0003Je-00; Mon, 18 Feb 2008 13:23:10 +0100
Received: by solo.franken.de (Postfix, from userid 1000)
	id 42D17C2AE1; Mon, 18 Feb 2008 13:18:08 +0100 (CET)
Date:	Mon, 18 Feb 2008 13:18:08 +0100
To:	Adrian Bunk <bunk@kernel.org>
Cc:	Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: [2.6.25 patch] mips: fix SNI_RM EISA=n compilation
Message-ID: <20080218121807.GA13080@alpha.franken.de>
References: <20080217215948.GL1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080217215948.GL1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.13 (2006-08-11)
From:	tsbogend@alpha.franken.de (Thomas Bogendoerfer)
Return-Path: <tsbogend@alpha.franken.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18251
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: tsbogend@alpha.franken.de
Precedence: bulk
X-list: linux-mips
Content-Length: 1651
Lines: 52

On Sun, Feb 17, 2008 at 11:59:48PM +0200, Adrian Bunk wrote:
> This patch fixes the following build error with CONFIG_EISA=n caused by 
> commit 231a35d37293ab88d325a9cb94e5474c156282c0:
> 
> <--  snip -->
> 
> ...
>   LD      .tmp_vmlinux1
> arch/mips/sni/built-in.o: In function `snirm_a20r_setup_devinit':
> a20r.c:(.init.text+0x42c): undefined reference to `sni_eisa_root_init'
> a20r.c:(.init.text+0x42c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
> arch/mips/sni/built-in.o: In function `snirm_setup_devinit':
> rm200.c:(.init.text+0x52c): undefined reference to `sni_eisa_root_init'
> rm200.c:(.init.text+0x52c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
> make[1]: *** [.tmp_vmlinux1] Error 1
> 
> <--  snip  -->
> 
> Signed-off-by: Adrian Bunk <bunk@kernel.org>


Thanks for your fix, Adrian.

Ralf, please apply.

Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

> 
> ---
> f6a6c34454cbe463e2d8d567d9e0659161a82a72 diff --git a/include/asm-mips/sni.h b/include/asm-mips/sni.h
> index e716447..8c1eb02 100644
> --- a/include/asm-mips/sni.h
> +++ b/include/asm-mips/sni.h
> @@ -228,7 +228,14 @@ extern void sni_pcimt_irq_init(void);
>  extern void sni_cpu_time_init(void);
>  
>  /* eisa init for RM200/400 */
> +#ifdef CONFIG_EISA
>  extern int sni_eisa_root_init(void);
> +#else
> +static inline int sni_eisa_root_init(void)
> +{
> +	return 0;
> +}
> +#endif
>  
>  /* common irq stuff */
>  extern void (*sni_hwint)(void);

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

From tsbogend@alpha.franken.de Mon Feb 18 12:23:36 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 12:23:40 +0000 (GMT)
Received: from elvis.franken.de ([193.175.24.41]:6875 "EHLO elvis.franken.de")
	by ftp.linux-mips.org with ESMTP id S20036208AbYBRMXM (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 12:23:12 +0000
Received: from uucp (helo=solo.franken.de)
	by elvis.franken.de with local-bsmtp (Exim 3.36 #1)
	id 1JR51a-0003Je-01; Mon, 18 Feb 2008 13:23:10 +0100
Received: by solo.franken.de (Postfix, from userid 1000)
	id 4511DC2AE2; Mon, 18 Feb 2008 13:23:02 +0100 (CET)
Date:	Mon, 18 Feb 2008 13:23:02 +0100
To:	Adrian Bunk <adrian.bunk@movial.fi>
Cc:	linux-mips@linux-mips.org, Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: mips: compile testing of 2.6.25-rc2
Message-ID: <20080218122302.GB13080@alpha.franken.de>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218010314.GO1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.13 (2006-08-11)
From:	tsbogend@alpha.franken.de (Thomas Bogendoerfer)
Return-Path: <tsbogend@alpha.franken.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18252
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: tsbogend@alpha.franken.de
Precedence: bulk
X-list: linux-mips
Content-Length: 767
Lines: 18

On Mon, Feb 18, 2008 at 03:03:14AM +0200, Adrian Bunk wrote:
> CONFIG_SGI_IP28
>   CALL    /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/checksyscalls.sh
> cc1: error: unrecognized command line option "-mr10k-cache-barrier=1"
> 
> I tried with a plain gcc 4.2.3, and grep'ed in the gcc SVN head.
> I don't know which special gcc versions have these options added, but 
> when they are used by the kernel they should also go into upstream gcc.

getting the gcc patches upstream is work in progress. If you only want to
check builds, you could just drop that option. I'll send a ip28 defconfig
later.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

From sshtylyov@ru.mvista.com Mon Feb 18 13:54:41 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 13:54:43 +0000 (GMT)
Received: from h155.mvista.com ([63.81.120.155]:14542 "EHLO imap.sh.mvista.com")
	by ftp.linux-mips.org with ESMTP id S28573929AbYBRNyl (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 13:54:41 +0000
Received: from [192.168.1.234] (unknown [10.150.0.9])
	by imap.sh.mvista.com (Postfix) with ESMTP
	id 2EC303EC9; Mon, 18 Feb 2008 05:54:38 -0800 (PST)
Message-ID: <47B98E5D.2030301@ru.mvista.com>
Date:	Mon, 18 Feb 2008 16:55:41 +0300
From:	Sergei Shtylyov <sshtylyov@ru.mvista.com>
Organization: MontaVista Software Inc.
User-Agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
X-Accept-Language: ru, en-us, en-gb
MIME-Version: 1.0
To:	Andrew Sharp <andy.sharp@onstor.com>
Cc:	Michael Buesch <mb@bu3sch.de>, ralf@linux-mips.org,
	linux-mips@linux-mips.org
Subject: Re: Linux MIPS PCI resource sanity check
References: <200802161139.10791.mb@bu3sch.de>	<47B6BFD4.5050404@ru.mvista.com> <20080216153530.7a426a73@ripper.onstor.net>
In-Reply-To: <20080216153530.7a426a73@ripper.onstor.net>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Return-Path: <sshtylyov@ru.mvista.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18253
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sshtylyov@ru.mvista.com
Precedence: bulk
X-list: linux-mips
Content-Length: 847
Lines: 30

Andrew Sharp wrote:

>>>There's a sanity check in pcibios_enable_resources() that looks
>>>like this:

>>>	r = &dev->resource[idx];
>>>	if (!r->start && r->end) {
>>>		printk(KERN_ERR "PCI: Device %s not available
>>>because of resource collisions\n", pci_name(dev)); return -EINVAL;
>>>	}

>>>What is this check actually doing?

>>   It makes sure that a PCI resource is allocated (base of 0 means
>>that it's unallocated due to previously detected resource conlict (or
>>some other reason).

> Actually, IIRC, resources are based on what the device requested, so a
> device behind a bridge could request a resource starting at 0.  I had

    Zero value in BAR was considered unallocated resource in the PCI 2.2 spec...

> to change this for a system as well.  I changed it to

> if (!r->start && !r->end) {

    r->end can't be 0.

WBR, Sergei


From yoichi_yuasa@tripeaks.co.jp Mon Feb 18 14:05:04 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 14:05:07 +0000 (GMT)
Received: from mo32.po.2iij.net ([210.128.50.17]:16430 "EHLO mo32.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S28573943AbYBROFE (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 14:05:04 +0000
Received: by mo.po.2iij.net (mo32) id m1IE51rE009848; Mon, 18 Feb 2008 23:05:01 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox304) id m1IE4xuS005073
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 18 Feb 2008 23:05:00 +0900
Date:	Mon, 18 Feb 2008 23:04:59 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][MIPS] fix the installation condition of MIPS clocksource
Message-Id: <20080218230459.35c2204b.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18254
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips
Content-Length: 723
Lines: 22

Hi Ralf,

MIPS clocksource has been installed on DEC 5000/200(R3000).
The installation condition of MIPS clocksource is wrong.

Yoichi

Fixed the installation condition of MIPS clocksource.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X /home/yuasa/Memo/dontdiff linux-orig/arch/mips/kernel/time.c linux/arch/mips/kernel/time.c
--- linux-orig/arch/mips/kernel/time.c	2008-02-14 12:00:11.592089539 +0900
+++ linux/arch/mips/kernel/time.c	2008-02-14 17:14:42.619488102 +0900
@@ -157,6 +157,6 @@ void __init time_init(void)
 {
 	plat_time_init();
 
-	if (mips_clockevent_init() || !cpu_has_mfc0_count_bug())
+	if (!cpu_has_mfc0_count_bug() && !mips_clockevent_init())
 		init_mips_clocksource();
 }

From mano@roarinelk.homelinux.net Mon Feb 18 17:51:33 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 17:51:35 +0000 (GMT)
Received: from fnoeppeil48.netpark.at ([217.175.205.176]:26275 "EHLO
	roarinelk.homelinux.net") by ftp.linux-mips.org with ESMTP
	id S28574146AbYBRRvd (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 17:51:33 +0000
Received: (qmail 10556 invoked by uid 1000); 18 Feb 2008 18:51:32 +0100
Date:	Mon, 18 Feb 2008 18:51:32 +0100
From:	Manuel Lauss <mano@roarinelk.homelinux.net>
To:	Jean Delvare <khali@linux-fr.org>
Cc:	Adrian Bunk <bunk@kernel.org>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: mips SMBUS_PSC_BASE compile errors
Message-ID: <20080218175132.GA10548@roarinelk.homelinux.net>
References: <20080217200953.GJ1403@cs181133002.pp.htv.fi> <20080218102146.GA7282@roarinelk.homelinux.net> <20080218124947.2a768c05@hyperion.delvare>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218124947.2a768c05@hyperion.delvare>
User-Agent: Mutt/1.5.16 (2007-06-09)
Return-Path: <mano@roarinelk.homelinux.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18255
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mano@roarinelk.homelinux.net
Precedence: bulk
X-list: linux-mips
Content-Length: 780
Lines: 21

Hi Jean,

On Mon, Feb 18, 2008 at 12:49:47PM +0100, Jean Delvare wrote:
> On Mon, 18 Feb 2008 11:21:46 +0100, Manuel Lauss wrote:
> > > ...
> > >   CC      arch/mips/au1000/common/platform.o
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:277: error: 'PSC0_BASE_ADDR' undeclared here (not in a function)
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/au1000/common/platform.c:314: warning: no previous prototype for 'au1xxx_platform_init'
> > > make[2]: *** [arch/mips/au1000/common/platform.o] Error 1
> > 
> > Thanks, here's a patch. The db1200/pb1550 defconfigs (+ i2c enabled) compile

[...]

> As the breakage came through my i2c tree, I guess I am supposed to push
> this fix as well?

Yes, please do.

Thank you!
	Manuel Lauss

From mb@bu3sch.de Mon Feb 18 18:11:27 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 18:11:30 +0000 (GMT)
Received: from vs166246.vserver.de ([62.75.166.246]:18886 "EHLO
	vs166246.vserver.de") by ftp.linux-mips.org with ESMTP
	id S28574212AbYBRSL1 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 18:11:27 +0000
Received: from t1be0.t.pppool.de ([89.55.27.224] helo=powermac.local)
	by vs166246.vserver.de with esmtpa (Exim 4.63)
	(envelope-from <mb@bu3sch.de>)
	id 1JRASJ-00011W-Sw; Mon, 18 Feb 2008 18:11:08 +0000
From:	Michael Buesch <mb@bu3sch.de>
To:	Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [PATCH] [SSB] PCI core driver: use new SPROM data structure
Date:	Mon, 18 Feb 2008 19:10:46 +0100
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
Cc:	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>, ralf@linux-mips.org,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
References: <20080217200947.GH1403@cs181133002.pp.htv.fi> <20080218100126.GA22519@hall.aurel32.net> <20080218100257.GB22519@hall.aurel32.net>
In-Reply-To: <20080218100257.GB22519@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802181910.46581.mb@bu3sch.de>
Return-Path: <mb@bu3sch.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18256
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: mb@bu3sch.de
Precedence: bulk
X-list: linux-mips
Content-Length: 962
Lines: 35

On Monday 18 February 2008 11:02:57 Aurelien Jarno wrote:
> Switch the SSB PCI core driver to the new SPROM data structure now that
> the old one has been removed.
> 
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

Acked-by: Michael Buesch <mb@bu3sch.de>

John, can you please apply this?

> ---
>  drivers/ssb/driver_pcicore.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
> index 2faaa90..191db7a 100644
> --- a/drivers/ssb/driver_pcicore.c
> +++ b/drivers/ssb/driver_pcicore.c
> @@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
>  	    chipid_top != 0x5300)
>  		return 0;
>  
> -	if (bus->sprom.r1.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
> +	if (bus->sprom.boardflags_lo & SSB_PCICORE_BFL_NOPCI)
>  		return 0;
>  
>  	/* The 200-pin BCM4712 package does not bond out PCI. Even when
> -- 
> 1.5.4.1
> 



-- 
Greetings Michael.

From ths@networkno.de Mon Feb 18 19:32:55 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 19:32:59 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:18875 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S28574267AbYBRTcz (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 19:32:55 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id 6DEE64892F;
	Mon, 18 Feb 2008 20:32:49 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JRBjN-0005El-78; Mon, 18 Feb 2008 19:32:49 +0000
Date:	Mon, 18 Feb 2008 19:32:49 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	linux-mips@linux-mips.org
Cc:	ralf@linux-mips.org
Subject: [PATCH] Reimplement clear_page/copy_page
Message-ID: <20080218193249.GD4747@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18257
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips
Content-Length: 51073
Lines: 1726

Fold the SB-1 specific implementation of clear_page/copy_page in the
generic version, and rewrite that one in tlbex style. The immediate
benefits:
  - It converts the compile-time workaround for SB-1 pass 1 prefetches
    to a more efficient run-time check.
  - It allows adjustment of loop unfolling, which helps to reduce the
    number of redundant cdex cache ops.
  - It fixes some esoteric cornercases (the cache line length calculations
    can go wrong, and support for 64k pages without prefetch instructions
    will overflow the addiu immediate).
  - Somewhat better guesses of "good" prefetch values.


Signed-off-by: Thiemo Seufer <ths@networkno.de>
---

Lmbench3 running on a BCM1480 system shows improvements for some
benchmarks (three runs with the original kernel, then three runs
with the patched kernel), most markedly (~5%) for open/close and
exec:

Processor, Processes - times in microseconds - smaller is better
------------------------------------------------------------------------------
Host                 OS  Mhz null null      open slct sig  sig  fork exec sh
                             call  I/O stat clos TCP  inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- -------- ---- ---- ---- ---- ----
larsa     Linux 2.6.25-  897 0.23 0.52 3.73 6.26 12.3 0.65 5.08 330. 1406 8997
larsa     Linux 2.6.25-  897 0.23 0.52 3.72 6.26 12.3 0.65 4.94 330. 1401 8959
larsa     Linux 2.6.25-  897 0.23 0.52 3.74 6.27 12.3 0.66 5.01 330. 1409 8983

larsa     Linux 2.6.25-  897 0.23 0.52 3.65 5.82 12.3 0.66 4.88 329. 1335 8355
larsa     Linux 2.6.25-  897 0.23 0.52 3.67 5.83 12.3 0.65 4.98 329. 1327 8376
larsa     Linux 2.6.25-  897 0.23 0.52 3.66 5.85 12.3 0.65 4.81 330. 1334 8405


Index: linux.git/arch/mips/mm/pg-r4k.c
===================================================================
--- linux.git.orig/arch/mips/mm/pg-r4k.c	2008-02-14 17:03:48.000000000 +0000
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,534 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org)
- * Copyright (C) 2007  Maciej W. Rozycki
- */
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/mm.h>
-#include <linux/module.h>
-#include <linux/proc_fs.h>
-
-#include <asm/bugs.h>
-#include <asm/cacheops.h>
-#include <asm/inst.h>
-#include <asm/io.h>
-#include <asm/page.h>
-#include <asm/pgtable.h>
-#include <asm/prefetch.h>
-#include <asm/system.h>
-#include <asm/bootinfo.h>
-#include <asm/mipsregs.h>
-#include <asm/mmu_context.h>
-#include <asm/cpu.h>
-#include <asm/war.h>
-
-#define half_scache_line_size()	(cpu_scache_line_size() >> 1)
-#define cpu_is_r4600_v1_x()	((read_c0_prid() & 0xfffffff0) == 0x00002010)
-#define cpu_is_r4600_v2_x()	((read_c0_prid() & 0xfffffff0) == 0x00002020)
-
-
-/*
- * Maximum sizes:
- *
- * R4000 128 bytes S-cache:		0x58 bytes
- * R4600 v1.7:				0x5c bytes
- * R4600 v2.0:				0x60 bytes
- * With prefetching, 16 byte strides	0xa0 bytes
- */
-
-static unsigned int clear_page_array[0x130 / 4];
-
-void clear_page(void * page) __attribute__((alias("clear_page_array")));
-
-EXPORT_SYMBOL(clear_page);
-
-/*
- * Maximum sizes:
- *
- * R4000 128 bytes S-cache:		0x11c bytes
- * R4600 v1.7:				0x080 bytes
- * R4600 v2.0:				0x07c bytes
- * With prefetching, 16 byte strides	0x0b8 bytes
- */
-static unsigned int copy_page_array[0x148 / 4];
-
-void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
-
-EXPORT_SYMBOL(copy_page);
-
-/*
- * This is suboptimal for 32-bit kernels; we assume that R10000 is only used
- * with 64-bit kernels.  The prefetch offsets have been experimentally tuned
- * an Origin 200.
- */
-static int pref_offset_clear __initdata = 512;
-static int pref_offset_copy  __initdata = 256;
-
-static unsigned int pref_src_mode __initdata;
-static unsigned int pref_dst_mode __initdata;
-
-static int load_offset __initdata;
-static int store_offset __initdata;
-
-static unsigned int __initdata *dest, *epc;
-
-static unsigned int instruction_pending;
-static union mips_instruction delayed_mi;
-
-static void __init emit_instruction(union mips_instruction mi)
-{
-	if (instruction_pending)
-		*epc++ = delayed_mi.word;
-
-	instruction_pending = 1;
-	delayed_mi = mi;
-}
-
-static inline void flush_delay_slot_or_nop(void)
-{
-	if (instruction_pending) {
-		*epc++ = delayed_mi.word;
-		instruction_pending = 0;
-		return;
-	}
-
-	*epc++ = 0;
-}
-
-static inline unsigned int *label(void)
-{
-	if (instruction_pending) {
-		*epc++ = delayed_mi.word;
-		instruction_pending = 0;
-	}
-
-	return epc;
-}
-
-static inline void build_insn_word(unsigned int word)
-{
-	union mips_instruction mi;
-
-	mi.word		 = word;
-
-	emit_instruction(mi);
-}
-
-static inline void build_nop(void)
-{
-	build_insn_word(0);			/* nop */
-}
-
-static inline void build_src_pref(int advance)
-{
-	if (!(load_offset & (cpu_dcache_line_size() - 1)) && advance) {
-		union mips_instruction mi;
-
-		mi.i_format.opcode     = pref_op;
-		mi.i_format.rs         = 5;		/* $a1 */
-		mi.i_format.rt         = pref_src_mode;
-		mi.i_format.simmediate = load_offset + advance;
-
-		emit_instruction(mi);
-	}
-}
-
-static inline void __build_load_reg(int reg)
-{
-	union mips_instruction mi;
-	unsigned int width;
-
-	if (cpu_has_64bit_gp_regs) {
-		mi.i_format.opcode     = ld_op;
-		width = 8;
-	} else {
-		mi.i_format.opcode     = lw_op;
-		width = 4;
-	}
-	mi.i_format.rs         = 5;		/* $a1 */
-	mi.i_format.rt         = reg;		/* $reg */
-	mi.i_format.simmediate = load_offset;
-
-	load_offset += width;
-	emit_instruction(mi);
-}
-
-static inline void build_load_reg(int reg)
-{
-	if (cpu_has_prefetch)
-		build_src_pref(pref_offset_copy);
-
-	__build_load_reg(reg);
-}
-
-static inline void build_dst_pref(int advance)
-{
-	if (!(store_offset & (cpu_dcache_line_size() - 1)) && advance) {
-		union mips_instruction mi;
-
-		mi.i_format.opcode     = pref_op;
-		mi.i_format.rs         = 4;		/* $a0 */
-		mi.i_format.rt         = pref_dst_mode;
-		mi.i_format.simmediate = store_offset + advance;
-
-		emit_instruction(mi);
-	}
-}
-
-static inline void build_cdex_s(void)
-{
-	union mips_instruction mi;
-
-	if ((store_offset & (cpu_scache_line_size() - 1)))
-		return;
-
-	mi.c_format.opcode     = cache_op;
-	mi.c_format.rs         = 4;		/* $a0 */
-	mi.c_format.c_op       = 3;		/* Create Dirty Exclusive */
-	mi.c_format.cache      = 3;		/* Secondary Data Cache */
-	mi.c_format.simmediate = store_offset;
-
-	emit_instruction(mi);
-}
-
-static inline void build_cdex_p(void)
-{
-	union mips_instruction mi;
-
-	if (store_offset & (cpu_dcache_line_size() - 1))
-		return;
-
-	if (R4600_V1_HIT_CACHEOP_WAR && cpu_is_r4600_v1_x()) {
-		build_nop();
-		build_nop();
-		build_nop();
-		build_nop();
-	}
-
-	if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
-		build_insn_word(0x8c200000);	/* lw      $zero, ($at) */
-
-	mi.c_format.opcode     = cache_op;
-	mi.c_format.rs         = 4;		/* $a0 */
-	mi.c_format.c_op       = 3;		/* Create Dirty Exclusive */
-	mi.c_format.cache      = 1;		/* Data Cache */
-	mi.c_format.simmediate = store_offset;
-
-	emit_instruction(mi);
-}
-
-static void __init __build_store_reg(int reg)
-{
-	union mips_instruction mi;
-	unsigned int width;
-
-	if (cpu_has_64bit_gp_regs ||
-	    (cpu_has_64bit_zero_reg && reg == 0)) {
-		mi.i_format.opcode     = sd_op;
-		width = 8;
-	} else {
-		mi.i_format.opcode     = sw_op;
-		width = 4;
-	}
-	mi.i_format.rs         = 4;		/* $a0 */
-	mi.i_format.rt         = reg;		/* $reg */
-	mi.i_format.simmediate = store_offset;
-
-	store_offset += width;
-	emit_instruction(mi);
-}
-
-static inline void build_store_reg(int reg)
-{
-	int pref_off = cpu_has_prefetch ?
-		(reg ? pref_offset_copy : pref_offset_clear) : 0;
-	if (pref_off)
-		build_dst_pref(pref_off);
-	else if (cpu_has_cache_cdex_s)
-		build_cdex_s();
-	else if (cpu_has_cache_cdex_p)
-		build_cdex_p();
-
-	__build_store_reg(reg);
-}
-
-static inline void build_addiu_rt_rs(unsigned int rt, unsigned int rs,
-				     unsigned long offset)
-{
-	union mips_instruction mi;
-
-	BUG_ON(offset > 0x7fff);
-
-	if (cpu_has_64bit_gp_regs && DADDI_WAR && r4k_daddiu_bug()) {
-		mi.i_format.opcode     = addiu_op;
-		mi.i_format.rs         = 0;	/* $zero */
-		mi.i_format.rt         = 25;	/* $t9 */
-		mi.i_format.simmediate = offset;
-		emit_instruction(mi);
-
-		mi.r_format.opcode     = spec_op;
-		mi.r_format.rs         = rs;
-		mi.r_format.rt         = 25;	/* $t9 */
-		mi.r_format.rd         = rt;
-		mi.r_format.re         = 0;
-		mi.r_format.func       = daddu_op;
-	} else {
-		mi.i_format.opcode     = cpu_has_64bit_gp_regs ?
-					 daddiu_op : addiu_op;
-		mi.i_format.rs         = rs;
-		mi.i_format.rt         = rt;
-		mi.i_format.simmediate = offset;
-	}
-	emit_instruction(mi);
-}
-
-static inline void build_addiu_a2_a0(unsigned long offset)
-{
-	build_addiu_rt_rs(6, 4, offset);	/* $a2, $a0, offset */
-}
-
-static inline void build_addiu_a2(unsigned long offset)
-{
-	build_addiu_rt_rs(6, 6, offset);	/* $a2, $a2, offset */
-}
-
-static inline void build_addiu_a1(unsigned long offset)
-{
-	build_addiu_rt_rs(5, 5, offset);	/* $a1, $a1, offset */
-
-	load_offset -= offset;
-}
-
-static inline void build_addiu_a0(unsigned long offset)
-{
-	build_addiu_rt_rs(4, 4, offset);	/* $a0, $a0, offset */
-
-	store_offset -= offset;
-}
-
-static inline void build_bne(unsigned int *dest)
-{
-	union mips_instruction mi;
-
-	mi.i_format.opcode = bne_op;
-	mi.i_format.rs     = 6;			/* $a2 */
-	mi.i_format.rt     = 4;			/* $a0 */
-	mi.i_format.simmediate = dest - epc - 1;
-
-	*epc++ = mi.word;
-	flush_delay_slot_or_nop();
-}
-
-static inline void build_jr_ra(void)
-{
-	union mips_instruction mi;
-
-	mi.r_format.opcode = spec_op;
-	mi.r_format.rs     = 31;
-	mi.r_format.rt     = 0;
-	mi.r_format.rd     = 0;
-	mi.r_format.re     = 0;
-	mi.r_format.func   = jr_op;
-
-	*epc++ = mi.word;
-	flush_delay_slot_or_nop();
-}
-
-void __init build_clear_page(void)
-{
-	unsigned int loop_start;
-	unsigned long off;
-	int i;
-
-	epc = (unsigned int *) &clear_page_array;
-	instruction_pending = 0;
-	store_offset = 0;
-
-	if (cpu_has_prefetch) {
-		switch (current_cpu_type()) {
-		case CPU_TX49XX:
-			/* TX49 supports only Pref_Load */
-			pref_offset_clear = 0;
-			pref_offset_copy = 0;
-			break;
-
-		case CPU_RM9000:
-			/*
-			 * As a workaround for erratum G105 which make the
-			 * PrepareForStore hint unusable we fall back to
-			 * StoreRetained on the RM9000.  Once it is known which
-			 * versions of the RM9000 we'll be able to condition-
-			 * alize this.
-			 */
-
-		case CPU_R10000:
-		case CPU_R12000:
-		case CPU_R14000:
-			pref_src_mode = Pref_LoadStreamed;
-			pref_dst_mode = Pref_StoreStreamed;
-			break;
-
-		default:
-			pref_src_mode = Pref_LoadStreamed;
-			pref_dst_mode = Pref_PrepareForStore;
-			break;
-		}
-	}
-
-        off = PAGE_SIZE - (cpu_has_prefetch ? pref_offset_clear : 0);
-	if (off > 0x7fff) {
-		build_addiu_a2_a0(off >> 1);
-		build_addiu_a2(off >> 1);
-	} else
-		build_addiu_a2_a0(off);
-
-	if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
-		build_insn_word(0x3c01a000);	/* lui     $at, 0xa000  */
-
-dest = label();
-	do {
-		build_store_reg(0);
-		build_store_reg(0);
-		build_store_reg(0);
-		build_store_reg(0);
-	} while (store_offset < half_scache_line_size());
-	build_addiu_a0(2 * store_offset);
-	loop_start = store_offset;
-	do {
-		build_store_reg(0);
-		build_store_reg(0);
-		build_store_reg(0);
-		build_store_reg(0);
-	} while ((store_offset - loop_start) < half_scache_line_size());
-	build_bne(dest);
-
-	if (cpu_has_prefetch && pref_offset_clear) {
-		build_addiu_a2_a0(pref_offset_clear);
-	dest = label();
-		loop_start = store_offset;
-		do {
-			__build_store_reg(0);
-			__build_store_reg(0);
-			__build_store_reg(0);
-			__build_store_reg(0);
-		} while ((store_offset - loop_start) < half_scache_line_size());
-		build_addiu_a0(2 * store_offset);
-		loop_start = store_offset;
-		do {
-			__build_store_reg(0);
-			__build_store_reg(0);
-			__build_store_reg(0);
-			__build_store_reg(0);
-		} while ((store_offset - loop_start) < half_scache_line_size());
-		build_bne(dest);
-	}
-
-	build_jr_ra();
-
-	BUG_ON(epc > clear_page_array + ARRAY_SIZE(clear_page_array));
-
-	pr_info("Synthesized clear page handler (%u instructions).\n",
-		(unsigned int)(epc - clear_page_array));
-
-	pr_debug("\t.set push\n");
-	pr_debug("\t.set noreorder\n");
-	for (i = 0; i < (epc - clear_page_array); i++)
-		pr_debug("\t.word 0x%08x\n", clear_page_array[i]);
-	pr_debug("\t.set pop\n");
-}
-
-void __init build_copy_page(void)
-{
-	unsigned int loop_start;
-	unsigned long off;
-	int i;
-
-	epc = (unsigned int *) &copy_page_array;
-	store_offset = load_offset = 0;
-	instruction_pending = 0;
-
-	off = PAGE_SIZE - (cpu_has_prefetch ? pref_offset_copy : 0);
-	if (off > 0x7fff) {
-		build_addiu_a2_a0(off >> 1);
-		build_addiu_a2(off >> 1);
-	} else
-		build_addiu_a2_a0(off);
-
-	if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
-		build_insn_word(0x3c01a000);	/* lui     $at, 0xa000  */
-
-dest = label();
-	loop_start = store_offset;
-	do {
-		build_load_reg( 8);
-		build_load_reg( 9);
-		build_load_reg(10);
-		build_load_reg(11);
-		build_store_reg( 8);
-		build_store_reg( 9);
-		build_store_reg(10);
-		build_store_reg(11);
-	} while ((store_offset - loop_start) < half_scache_line_size());
-	build_addiu_a0(2 * store_offset);
-	build_addiu_a1(2 * load_offset);
-	loop_start = store_offset;
-	do {
-		build_load_reg( 8);
-		build_load_reg( 9);
-		build_load_reg(10);
-		build_load_reg(11);
-		build_store_reg( 8);
-		build_store_reg( 9);
-		build_store_reg(10);
-		build_store_reg(11);
-	} while ((store_offset - loop_start) < half_scache_line_size());
-	build_bne(dest);
-
-	if (cpu_has_prefetch && pref_offset_copy) {
-		build_addiu_a2_a0(pref_offset_copy);
-	dest = label();
-		loop_start = store_offset;
-		do {
-			__build_load_reg( 8);
-			__build_load_reg( 9);
-			__build_load_reg(10);
-			__build_load_reg(11);
-			__build_store_reg( 8);
-			__build_store_reg( 9);
-			__build_store_reg(10);
-			__build_store_reg(11);
-		} while ((store_offset - loop_start) < half_scache_line_size());
-		build_addiu_a0(2 * store_offset);
-		build_addiu_a1(2 * load_offset);
-		loop_start = store_offset;
-		do {
-			__build_load_reg( 8);
-			__build_load_reg( 9);
-			__build_load_reg(10);
-			__build_load_reg(11);
-			__build_store_reg( 8);
-			__build_store_reg( 9);
-			__build_store_reg(10);
-			__build_store_reg(11);
-		} while ((store_offset - loop_start) < half_scache_line_size());
-		build_bne(dest);
-	}
-
-	build_jr_ra();
-
-	BUG_ON(epc > copy_page_array + ARRAY_SIZE(copy_page_array));
-
-	pr_info("Synthesized copy page handler (%u instructions).\n",
-		(unsigned int)(epc - copy_page_array));
-
-	pr_debug("\t.set push\n");
-	pr_debug("\t.set noreorder\n");
-	for (i = 0; i < (epc - copy_page_array); i++)
-		pr_debug("\t.word 0x%08x\n", copy_page_array[i]);
-	pr_debug("\t.set pop\n");
-}
Index: linux.git/arch/mips/mm/uasm.c
===================================================================
--- linux.git.orig/arch/mips/mm/uasm.c	2008-02-14 17:03:48.000000000 +0000
+++ linux.git/arch/mips/mm/uasm.c	2008-02-14 20:02:28.000000000 +0000
@@ -58,13 +58,13 @@
 	insn_invalid,
 	insn_addu, insn_addiu, insn_and, insn_andi, insn_beq,
 	insn_beql, insn_bgez, insn_bgezl, insn_bltz, insn_bltzl,
-	insn_bne, insn_daddu, insn_daddiu, insn_dmfc0, insn_dmtc0,
-	insn_dsll, insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32,
-	insn_dsubu, insn_eret, insn_j, insn_jal, insn_jr, insn_ld,
-	insn_ll, insn_lld, insn_lui, insn_lw, insn_mfc0, insn_mtc0,
-	insn_ori, insn_rfe, insn_sc, insn_scd, insn_sd, insn_sll,
-	insn_sra, insn_srl, insn_subu, insn_sw, insn_tlbp, insn_tlbwi,
-	insn_tlbwr, insn_xor, insn_xori
+	insn_bne, insn_cache, insn_daddu, insn_daddiu, insn_dmfc0,
+	insn_dmtc0, insn_dsll, insn_dsll32, insn_dsra, insn_dsrl,
+	insn_dsrl32, insn_dsubu, insn_eret, insn_j, insn_jal, insn_jr,
+	insn_ld, insn_ll, insn_lld, insn_lui, insn_lw, insn_mfc0,
+	insn_mtc0, insn_ori, insn_pref, insn_rfe, insn_sc, insn_scd,
+	insn_sd, insn_sll, insn_sra, insn_srl, insn_subu, insn_sw,
+	insn_tlbp, insn_tlbwi, insn_tlbwr, insn_xor, insn_xori
 };
 
 struct insn {
@@ -94,6 +94,7 @@
 	{ insn_bltz, M(bcond_op, 0, bltz_op, 0, 0, 0), RS | BIMM },
 	{ insn_bltzl, M(bcond_op, 0, bltzl_op, 0, 0, 0), RS | BIMM },
 	{ insn_bne, M(bne_op, 0, 0, 0, 0, 0), RS | RT | BIMM },
+	{ insn_cache,  M(cache_op, 0, 0, 0, 0, 0),  RS | RT | SIMM },
 	{ insn_daddiu, M(daddiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM },
 	{ insn_daddu, M(spec_op, 0, 0, 0, 0, daddu_op), RS | RT | RD },
 	{ insn_dmfc0, M(cop0_op, dmfc_op, 0, 0, 0, 0), RT | RD | SET},
@@ -116,6 +117,7 @@
 	{ insn_mfc0,  M(cop0_op, mfc_op, 0, 0, 0, 0),  RT | RD | SET},
 	{ insn_mtc0,  M(cop0_op, mtc_op, 0, 0, 0, 0),  RT | RD | SET},
 	{ insn_ori,  M(ori_op, 0, 0, 0, 0, 0),  RS | RT | UIMM },
+	{ insn_pref,  M(pref_op, 0, 0, 0, 0, 0),  RS | RT | SIMM },
 	{ insn_rfe,  M(cop0_op, cop_op, 0, 0, 0, rfe_op),  0 },
 	{ insn_sc,  M(sc_op, 0, 0, 0, 0, 0),  RS | RT | SIMM },
 	{ insn_scd,  M(scd_op, 0, 0, 0, 0, 0),  RS | RT | SIMM },
@@ -337,6 +339,7 @@
 I_u1s2(_bltz)
 I_u1s2(_bltzl)
 I_u1u2s3(_bne)
+I_u2s3u1(_cache)
 I_u1u2u3(_dmfc0)
 I_u1u2u3(_dmtc0)
 I_u2u1s3(_daddiu)
@@ -359,6 +362,7 @@
 I_u1u2u3(_mfc0)
 I_u1u2u3(_mtc0)
 I_u2u1u3(_ori)
+I_u2s3u1(_pref)
 I_0(_rfe)
 I_u2s3u1(_sc)
 I_u2s3u1(_scd)
@@ -555,6 +559,14 @@
 }
 
 void __init
+uasm_il_bne(u32 **p, struct uasm_reloc **r, unsigned int reg1,
+	    unsigned int reg2, int lid)
+{
+	uasm_r_mips_pc16(r, *p, lid);
+	uasm_i_bne(p, reg1, reg2, 0);
+}
+
+void __init
 uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
 {
 	uasm_r_mips_pc16(r, *p, lid);
Index: linux.git/arch/mips/mm/uasm.h
===================================================================
--- linux.git.orig/arch/mips/mm/uasm.h	2008-02-14 17:03:48.000000000 +0000
+++ linux.git/arch/mips/mm/uasm.h	2008-02-14 20:02:28.000000000 +0000
@@ -55,6 +55,7 @@
 Ip_u1s2(_bltz);
 Ip_u1s2(_bltzl);
 Ip_u1u2s3(_bne);
+Ip_u2s3u1(_cache);
 Ip_u1u2u3(_dmfc0);
 Ip_u1u2u3(_dmtc0);
 Ip_u2u1s3(_daddiu);
@@ -77,6 +78,7 @@
 Ip_u1u2u3(_mfc0);
 Ip_u1u2u3(_mtc0);
 Ip_u2u1u3(_ori);
+Ip_u2s3u1(_pref);
 Ip_0(_rfe);
 Ip_u2s3u1(_sc);
 Ip_u2s3u1(_scd);
@@ -185,6 +187,9 @@
 void __init
 uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
 void __init
+uasm_il_bne(u32 **p, struct uasm_reloc **r, unsigned int reg1,
+	    unsigned int reg2, int lid);
+void __init
 uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
 void __init
 uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
Index: linux.git/arch/mips/mm/pg-sb1.c
===================================================================
--- linux.git.orig/arch/mips/mm/pg-sb1.c	2008-02-14 20:02:19.000000000 +0000
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,302 +0,0 @@
-/*
- * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
- * Copyright (C) 1997, 2001 Ralf Baechle (ralf@gnu.org)
- * Copyright (C) 2000 SiByte, Inc.
- * Copyright (C) 2005 Thiemo Seufer
- *
- * Written by Justin Carlson of SiByte, Inc.
- *         and Kip Walker of Broadcom Corp.
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-#include <linux/module.h>
-#include <linux/sched.h>
-#include <linux/smp.h>
-
-#include <asm/io.h>
-#include <asm/sibyte/sb1250.h>
-#include <asm/sibyte/sb1250_regs.h>
-#include <asm/sibyte/sb1250_dma.h>
-
-#ifdef CONFIG_SB1_PASS_1_WORKAROUNDS
-#define SB1_PREF_LOAD_STREAMED_HINT "0"
-#define SB1_PREF_STORE_STREAMED_HINT "1"
-#else
-#define SB1_PREF_LOAD_STREAMED_HINT "4"
-#define SB1_PREF_STORE_STREAMED_HINT "5"
-#endif
-
-static inline void clear_page_cpu(void *page)
-{
-	unsigned char *addr = (unsigned char *) page;
-	unsigned char *end = addr + PAGE_SIZE;
-
-	/*
-	 * JDCXXX - This should be bottlenecked by the write buffer, but these
-	 * things tend to be mildly unpredictable...should check this on the
-	 * performance model
-	 *
-	 * We prefetch 4 lines ahead.  We're also "cheating" slightly here...
-	 * since we know we're on an SB1, we force the assembler to take
-	 * 64-bit operands to speed things up
-	 */
-	__asm__ __volatile__(
-	"	.set	push		\n"
-	"	.set	mips4		\n"
-	"	.set	noreorder	\n"
-#ifdef CONFIG_CPU_HAS_PREFETCH
-	"	daddiu	%0, %0, 128	\n"
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ", -128(%0)  \n"
-					     /* Prefetch the first 4 lines */
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -96(%0)  \n"
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -64(%0)  \n"
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -32(%0)  \n"
-	"1:	sd	$0, -128(%0)	\n"  /* Throw out a cacheline of 0's */
-	"	sd	$0, -120(%0)	\n"
-	"	sd	$0, -112(%0)	\n"
-	"	sd	$0, -104(%0)	\n"
-	"	daddiu	%0, %0, 32	\n"
-	"	bnel	%0, %1, 1b	\n"
-	"	 pref	" SB1_PREF_STORE_STREAMED_HINT ",  -32(%0)  \n"
-	"	daddiu	%0, %0, -128	\n"
-#endif
-	"	sd	$0, 0(%0)	\n"  /* Throw out a cacheline of 0's */
-	"1:	sd	$0, 8(%0)	\n"
-	"	sd	$0, 16(%0)	\n"
-	"	sd	$0, 24(%0)	\n"
-	"	daddiu	%0, %0, 32	\n"
-	"	bnel	%0, %1, 1b	\n"
-	"	 sd	$0, 0(%0)	\n"
-	"	.set	pop		\n"
-	: "+r" (addr)
-	: "r" (end)
-	: "memory");
-}
-
-static inline void copy_page_cpu(void *to, void *from)
-{
-	unsigned char *src = (unsigned char *)from;
-	unsigned char *dst = (unsigned char *)to;
-	unsigned char *end = src + PAGE_SIZE;
-
-	/*
-	 * The pref's used here are using "streaming" hints, which cause the
-	 * copied data to be kicked out of the cache sooner.  A page copy often
-	 * ends up copying a lot more data than is commonly used, so this seems
-	 * to make sense in terms of reducing cache pollution, but I've no real
-	 * performance data to back this up
-	 */
-	__asm__ __volatile__(
-	"	.set	push		\n"
-	"	.set	mips4		\n"
-	"	.set	noreorder	\n"
-#ifdef CONFIG_CPU_HAS_PREFETCH
-	"	daddiu	%0, %0, 128	\n"
-	"	daddiu	%1, %1, 128	\n"
-	"	pref	" SB1_PREF_LOAD_STREAMED_HINT  ", -128(%0)\n"
-					     /* Prefetch the first 4 lines */
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ", -128(%1)\n"
-	"	pref	" SB1_PREF_LOAD_STREAMED_HINT  ",  -96(%0)\n"
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -96(%1)\n"
-	"	pref	" SB1_PREF_LOAD_STREAMED_HINT  ",  -64(%0)\n"
-	"	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -64(%1)\n"
-	"	pref	" SB1_PREF_LOAD_STREAMED_HINT  ",  -32(%0)\n"
-	"1:	pref	" SB1_PREF_STORE_STREAMED_HINT ",  -32(%1)\n"
-# ifdef CONFIG_64BIT
-	"	ld	$8, -128(%0)	\n"  /* Block copy a cacheline */
-	"	ld	$9, -120(%0)	\n"
-	"	ld	$10, -112(%0)	\n"
-	"	ld	$11, -104(%0)	\n"
-	"	sd	$8, -128(%1)	\n"
-	"	sd	$9, -120(%1)	\n"
-	"	sd	$10, -112(%1)	\n"
-	"	sd	$11, -104(%1)	\n"
-# else
-	"	lw	$2, -128(%0)	\n"  /* Block copy a cacheline */
-	"	lw	$3, -124(%0)	\n"
-	"	lw	$6, -120(%0)	\n"
-	"	lw	$7, -116(%0)	\n"
-	"	lw	$8, -112(%0)	\n"
-	"	lw	$9, -108(%0)	\n"
-	"	lw	$10, -104(%0)	\n"
-	"	lw	$11, -100(%0)	\n"
-	"	sw	$2, -128(%1)	\n"
-	"	sw	$3, -124(%1)	\n"
-	"	sw	$6, -120(%1)	\n"
-	"	sw	$7, -116(%1)	\n"
-	"	sw	$8, -112(%1)	\n"
-	"	sw	$9, -108(%1)	\n"
-	"	sw	$10, -104(%1)	\n"
-	"	sw	$11, -100(%1)	\n"
-# endif
-	"	daddiu	%0, %0, 32	\n"
-	"	daddiu	%1, %1, 32	\n"
-	"	bnel	%0, %2, 1b	\n"
-	"	 pref	" SB1_PREF_LOAD_STREAMED_HINT  ",  -32(%0)\n"
-	"	daddiu	%0, %0, -128	\n"
-	"	daddiu	%1, %1, -128	\n"
-#endif
-#ifdef CONFIG_64BIT
-	"	ld	$8, 0(%0)	\n"  /* Block copy a cacheline */
-	"1:	ld	$9, 8(%0)	\n"
-	"	ld	$10, 16(%0)	\n"
-	"	ld	$11, 24(%0)	\n"
-	"	sd	$8, 0(%1)	\n"
-	"	sd	$9, 8(%1)	\n"
-	"	sd	$10, 16(%1)	\n"
-	"	sd	$11, 24(%1)	\n"
-#else
-	"	lw	$2, 0(%0)	\n"  /* Block copy a cacheline */
-	"1:	lw	$3, 4(%0)	\n"
-	"	lw	$6, 8(%0)	\n"
-	"	lw	$7, 12(%0)	\n"
-	"	lw	$8, 16(%0)	\n"
-	"	lw	$9, 20(%0)	\n"
-	"	lw	$10, 24(%0)	\n"
-	"	lw	$11, 28(%0)	\n"
-	"	sw	$2, 0(%1)	\n"
-	"	sw	$3, 4(%1)	\n"
-	"	sw	$6, 8(%1)	\n"
-	"	sw	$7, 12(%1)	\n"
-	"	sw	$8, 16(%1)	\n"
-	"	sw	$9, 20(%1)	\n"
-	"	sw	$10, 24(%1)	\n"
-	"	sw	$11, 28(%1)	\n"
-#endif
-	"	daddiu	%0, %0, 32	\n"
-	"	daddiu	%1, %1, 32	\n"
-	"	bnel	%0, %2, 1b	\n"
-#ifdef CONFIG_64BIT
-	"	 ld	$8, 0(%0)	\n"
-#else
-	"	 lw	$2, 0(%0)	\n"
-#endif
-	"	.set	pop		\n"
-	: "+r" (src), "+r" (dst)
-	: "r" (end)
-#ifdef CONFIG_64BIT
-	: "$8", "$9", "$10", "$11", "memory");
-#else
-	: "$2", "$3", "$6", "$7", "$8", "$9", "$10", "$11", "memory");
-#endif
-}
-
-
-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
-
-/*
- * Pad descriptors to cacheline, since each is exclusively owned by a
- * particular CPU.
- */
-typedef struct dmadscr_s {
-	u64 dscr_a;
-	u64 dscr_b;
-	u64 pad_a;
-	u64 pad_b;
-} dmadscr_t;
-
-static dmadscr_t page_descr[DM_NUM_CHANNELS]
-	__attribute__((aligned(SMP_CACHE_BYTES)));
-
-void sb1_dma_init(void)
-{
-	int i;
-
-	for (i = 0; i < DM_NUM_CHANNELS; i++) {
-		const u64 base_val = CPHYSADDR((unsigned long)&page_descr[i]) |
-				     V_DM_DSCR_BASE_RINGSZ(1);
-		void *base_reg = IOADDR(A_DM_REGISTER(i, R_DM_DSCR_BASE));
-
-		__raw_writeq(base_val, base_reg);
-		__raw_writeq(base_val | M_DM_DSCR_BASE_RESET, base_reg);
-		__raw_writeq(base_val | M_DM_DSCR_BASE_ENABL, base_reg);
-	}
-}
-
-void clear_page(void *page)
-{
-	u64 to_phys = CPHYSADDR((unsigned long)page);
-	unsigned int cpu = smp_processor_id();
-
-	/* if the page is not in KSEG0, use old way */
-	if ((long)KSEGX((unsigned long)page) != (long)CKSEG0)
-		return clear_page_cpu(page);
-
-	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_ZERO_MEM |
-				 M_DM_DSCRA_L2C_DEST | M_DM_DSCRA_INTERRUPT;
-	page_descr[cpu].dscr_b = V_DM_DSCRB_SRC_LENGTH(PAGE_SIZE);
-	__raw_writeq(1, IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_COUNT)));
-
-	/*
-	 * Don't really want to do it this way, but there's no
-	 * reliable way to delay completion detection.
-	 */
-	while (!(__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE_DEBUG)))
-		 & M_DM_DSCR_BASE_INTERRUPT))
-		;
-	__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE)));
-}
-
-void copy_page(void *to, void *from)
-{
-	u64 from_phys = CPHYSADDR((unsigned long)from);
-	u64 to_phys = CPHYSADDR((unsigned long)to);
-	unsigned int cpu = smp_processor_id();
-
-	/* if any page is not in KSEG0, use old way */
-	if ((long)KSEGX((unsigned long)to) != (long)CKSEG0
-	    || (long)KSEGX((unsigned long)from) != (long)CKSEG0)
-		return copy_page_cpu(to, from);
-
-	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_L2C_DEST |
-				 M_DM_DSCRA_INTERRUPT;
-	page_descr[cpu].dscr_b = from_phys | V_DM_DSCRB_SRC_LENGTH(PAGE_SIZE);
-	__raw_writeq(1, IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_COUNT)));
-
-	/*
-	 * Don't really want to do it this way, but there's no
-	 * reliable way to delay completion detection.
-	 */
-	while (!(__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE_DEBUG)))
-		 & M_DM_DSCR_BASE_INTERRUPT))
-		;
-	__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE)));
-}
-
-#else /* !CONFIG_SIBYTE_DMA_PAGEOPS */
-
-void clear_page(void *page)
-{
-	return clear_page_cpu(page);
-}
-
-void copy_page(void *to, void *from)
-{
-	return copy_page_cpu(to, from);
-}
-
-#endif /* !CONFIG_SIBYTE_DMA_PAGEOPS */
-
-EXPORT_SYMBOL(clear_page);
-EXPORT_SYMBOL(copy_page);
-
-void __init build_clear_page(void)
-{
-}
-
-void __init build_copy_page(void)
-{
-}
Index: linux.git/arch/mips/mm/Makefile
===================================================================
--- linux.git.orig/arch/mips/mm/Makefile	2008-02-14 17:03:48.000000000 +0000
+++ linux.git/arch/mips/mm/Makefile	2008-02-14 20:04:35.000000000 +0000
@@ -4,30 +4,29 @@
 
 obj-y				+= cache.o dma-default.o extable.o fault.o \
 				   init.o pgtable.o tlbex.o tlbex-fault.o \
-				   uasm.o
+				   uasm.o page.o
 
 obj-$(CONFIG_32BIT)		+= ioremap.o pgtable-32.o
 obj-$(CONFIG_64BIT)		+= pgtable-64.o
 obj-$(CONFIG_HIGHMEM)		+= highmem.o
 
-obj-$(CONFIG_CPU_LOONGSON2)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_MIPS32)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_MIPS64)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_NEVADA)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R10000)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R3000)		+= c-r3k.o tlb-r3k.o pg-r4k.o
-obj-$(CONFIG_CPU_R4300)		+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R4X00)		+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R5000)		+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R5432)		+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_R8000)		+= c-r4k.o cex-gen.o pg-r4k.o tlb-r8k.o
-obj-$(CONFIG_CPU_RM7000)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_RM9000)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_SB1)		+= c-r4k.o cerr-sb1.o cex-sb1.o pg-sb1.o \
-				   tlb-r4k.o
-obj-$(CONFIG_CPU_TX39XX)	+= c-tx39.o pg-r4k.o tlb-r3k.o
-obj-$(CONFIG_CPU_TX49XX)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
-obj-$(CONFIG_CPU_VR41XX)	+= c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
+obj-$(CONFIG_CPU_LOONGSON2)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_MIPS32)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_MIPS64)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_NEVADA)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R10000)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R3000)		+= c-r3k.o tlb-r3k.o
+obj-$(CONFIG_CPU_R4300)		+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R4X00)		+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R5000)		+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R5432)		+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_R8000)		+= c-r4k.o cex-gen.o tlb-r8k.o
+obj-$(CONFIG_CPU_RM7000)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_RM9000)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_SB1)		+= c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o
+obj-$(CONFIG_CPU_TX39XX)	+= c-tx39.o tlb-r3k.o
+obj-$(CONFIG_CPU_TX49XX)	+= c-r4k.o cex-gen.o tlb-r4k.o
+obj-$(CONFIG_CPU_VR41XX)	+= c-r4k.o cex-gen.o tlb-r4k.o
 
 obj-$(CONFIG_IP22_CPU_SCACHE)	+= sc-ip22.o
 obj-$(CONFIG_R5000_CPU_SCACHE)  += sc-r5k.o
Index: linux.git/arch/mips/mm/page.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux.git/arch/mips/mm/page.c	2008-02-14 20:02:28.000000000 +0000
@@ -0,0 +1,685 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org)
+ * Copyright (C) 2007  Maciej W. Rozycki
+ * Copyright (C) 2008  Thiemo Seufer
+ */
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+
+#include <asm/bugs.h>
+#include <asm/cacheops.h>
+#include <asm/inst.h>
+#include <asm/io.h>
+#include <asm/page.h>
+#include <asm/pgtable.h>
+#include <asm/prefetch.h>
+#include <asm/system.h>
+#include <asm/bootinfo.h>
+#include <asm/mipsregs.h>
+#include <asm/mmu_context.h>
+#include <asm/cpu.h>
+#include <asm/war.h>
+
+#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+#include <asm/sibyte/sb1250.h>
+#include <asm/sibyte/sb1250_regs.h>
+#include <asm/sibyte/sb1250_dma.h>
+#endif
+
+#include "uasm.h"
+
+/* Registers used in the assembled routines. */
+#define ZERO 0
+#define AT 2
+#define A0 4
+#define A1 5
+#define A2 6
+#define T0 8
+#define T1 9
+#define T2 10
+#define T3 11
+#define T9 25
+#define RA 31
+
+/* Handle labels (which must be positive integers). */
+enum label_id {
+	label_clear_nopref = 1,
+	label_clear_pref,
+	label_copy_nopref,
+	label_copy_pref_both,
+	label_copy_pref_store,
+};
+
+UASM_L_LA(_clear_nopref)
+UASM_L_LA(_clear_pref)
+UASM_L_LA(_copy_nopref)
+UASM_L_LA(_copy_pref_both)
+UASM_L_LA(_copy_pref_store)
+
+/* We need one branch and therefore one relocation per target label. */
+static struct uasm_label __initdata labels[5];
+static struct uasm_reloc __initdata relocs[5];
+
+#define cpu_is_r4600_v1_x()	((read_c0_prid() & 0xfffffff0) == 0x00002010)
+#define cpu_is_r4600_v2_x()	((read_c0_prid() & 0xfffffff0) == 0x00002020)
+
+/*
+ * Maximum sizes:
+ *
+ * R4000 128 bytes S-cache:		0x058 bytes
+ * R4600 v1.7:				0x05c bytes
+ * R4600 v2.0:				0x060 bytes
+ * With prefetching, 16 word strides	0x120 bytes
+ */
+
+static u32 clear_page_array[0x120 / 4];
+
+#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+void clear_page_cpu(void *page) __attribute__((alias("clear_page_array")));
+#else
+void clear_page(void *page) __attribute__((alias("clear_page_array")));
+#endif
+
+EXPORT_SYMBOL(clear_page);
+
+/*
+ * Maximum sizes:
+ *
+ * R4000 128 bytes S-cache:		0x11c bytes
+ * R4600 v1.7:				0x080 bytes
+ * R4600 v2.0:				0x07c bytes
+ * With prefetching, 16 word strides	0x540 bytes
+ */
+static u32 copy_page_array[0x540 / 4];
+
+#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+void
+copy_page_cpu(void *to, void *from) __attribute__((alias("copy_page_array")));
+#else
+void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
+#endif
+
+EXPORT_SYMBOL(copy_page);
+
+
+static int pref_bias_clear_store __initdata;
+static int pref_bias_copy_load __initdata;
+static int pref_bias_copy_store __initdata;
+
+static u32 pref_src_mode __initdata;
+static u32 pref_dst_mode __initdata;
+
+static int clear_word_size __initdata;
+static int copy_word_size __initdata;
+
+static int half_clear_loop_size __initdata;
+static int half_copy_loop_size __initdata;
+
+static int cache_line_size __initdata;
+#define cache_line_mask() (cache_line_size - 1)
+
+static inline void __init
+pg_addiu(u32 **buf, unsigned int reg1, unsigned int reg2, unsigned int off)
+{
+	if (cpu_has_64bit_gp_regs && DADDI_WAR && r4k_daddiu_bug()) {
+		if (off > 0x7fff) {
+			uasm_i_lui(buf, T9, uasm_rel_hi(off));
+			uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off));
+		} else
+			uasm_i_addiu(buf, T9, ZERO, off);
+		uasm_i_daddu(buf, reg1, reg2, T9);
+	} else {
+		if (off > 0x7fff) {
+			uasm_i_lui(buf, T9, uasm_rel_hi(off));
+			uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off));
+			UASM_i_ADDU(buf, reg1, reg2, T9);
+		} else
+			UASM_i_ADDIU(buf, reg1, reg2, off);
+	}
+}
+
+static void __init set_prefetch_parameters(void)
+{
+	if (cpu_has_64bit_gp_regs || cpu_has_64bit_zero_reg)
+		clear_word_size = 8;
+	else
+		clear_word_size = 4;
+
+	if (cpu_has_64bit_gp_regs)
+		copy_word_size = 8;
+	else
+		copy_word_size = 4;
+
+	/*
+	 * The pref's used here are using "streaming" hints, which cause the
+	 * copied data to be kicked out of the cache sooner.  A page copy often
+	 * ends up copying a lot more data than is commonly used, so this seems
+	 * to make sense in terms of reducing cache pollution, but I've no real
+	 * performance data to back this up.
+	 */
+	if (cpu_has_prefetch) {
+		/*
+		 * XXX: Most prefetch bias values in here are based on
+		 * guesswork.
+		 */
+		cache_line_size = cpu_dcache_line_size();
+		switch (current_cpu_type()) {
+		case CPU_TX49XX:
+			/* TX49 supports only Pref_Load */
+			pref_bias_copy_load = 256;
+			break;
+
+		case CPU_RM9000:
+			/*
+			 * As a workaround for erratum G105 which make the
+			 * PrepareForStore hint unusable we fall back to
+			 * StoreRetained on the RM9000.  Once it is known which
+			 * versions of the RM9000 we'll be able to condition-
+			 * alize this.
+			 */
+
+		case CPU_R10000:
+		case CPU_R12000:
+		case CPU_R14000:
+			/*
+			 * Those values have been experimentally tuned for an
+			 * Origin 200.
+			 */
+			pref_bias_clear_store = 512;
+			pref_bias_copy_load = 256;
+			pref_bias_copy_store = 256;
+			pref_src_mode = Pref_LoadStreamed;
+			pref_dst_mode = Pref_StoreStreamed;
+			break;
+
+		case CPU_SB1:
+		case CPU_SB1A:
+			pref_bias_clear_store = 128;
+			pref_bias_copy_load = 128;
+			pref_bias_copy_store = 128;
+			/*
+			 * SB1 pass1 Pref_LoadStreamed/Pref_StoreStreamed
+			 * hints are broken.
+			 */
+			if (current_cpu_type() == CPU_SB1 &&
+			    (current_cpu_data.processor_id & 0xff) < 0x02) {
+				pref_src_mode = Pref_Load;
+				pref_dst_mode = Pref_Store;
+			} else {
+				pref_src_mode = Pref_LoadStreamed;
+				pref_dst_mode = Pref_StoreStreamed;
+			}
+			break;
+
+		default:
+			pref_bias_clear_store = 128;
+			pref_bias_copy_load = 256;
+			pref_bias_copy_store = 128;
+			pref_src_mode = Pref_LoadStreamed;
+			pref_dst_mode = Pref_PrepareForStore;
+			break;
+		}
+	} else {
+		if (cpu_has_cache_cdex_s) {
+			cache_line_size = cpu_scache_line_size();
+		} else if (cpu_has_cache_cdex_p) {
+			cache_line_size = cpu_dcache_line_size();
+		}
+	}
+	/*
+	 * Too much unrolling will overflow the available space in
+	 * clear_space_array / copy_page_array. 8 words sounds generous,
+	 * but a R4000 with 128 byte L2 line length can exceed even that.
+	 */
+	half_clear_loop_size = min(8 * clear_word_size,
+				   max(cache_line_size >> 1,
+				       4 * clear_word_size));
+	half_copy_loop_size = min(8 * copy_word_size,
+				  max(cache_line_size >> 1,
+				      4 * copy_word_size));
+}
+
+static void __init build_clear_store(u32 **buf, int off)
+{
+	if (cpu_has_64bit_gp_regs || cpu_has_64bit_zero_reg) {
+		uasm_i_sd(buf, ZERO, off, A0);
+	} else {
+		uasm_i_sw(buf, ZERO, off, A0);
+	}
+}
+
+static inline void __init build_clear_pref(u32 **buf, int off)
+{
+	if (off & cache_line_mask())
+		return;
+
+	if (pref_bias_clear_store) {
+		uasm_i_pref(buf, pref_dst_mode, pref_bias_clear_store + off,
+			    A0);
+	} else if (cpu_has_cache_cdex_s) {
+		uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0);
+	} else if (cpu_has_cache_cdex_p) {
+		if (R4600_V1_HIT_CACHEOP_WAR && cpu_is_r4600_v1_x()) {
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+		}
+
+		if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
+			uasm_i_lw(buf, ZERO, ZERO, AT);
+
+		uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0);
+	}
+}
+
+void __init build_clear_page(void)
+{
+	int off;
+	u32 *buf = (u32 *)&clear_page_array;
+	struct uasm_label *l = labels;
+	struct uasm_reloc *r = relocs;
+	int i;
+
+	memset(labels, 0, sizeof(labels));
+	memset(relocs, 0, sizeof(relocs));
+
+	set_prefetch_parameters();
+
+	/*
+	 * This algorithm makes the following assumptions:
+	 *   - The prefetch bias is a multiple of 2 words.
+	 *   - The prefetch bias is less than one page.
+	 */
+	BUG_ON(pref_bias_clear_store % (2 * clear_word_size));
+	BUG_ON(PAGE_SIZE < pref_bias_clear_store);
+
+	off = PAGE_SIZE - pref_bias_clear_store;
+	if (off > 0xffff)
+		pg_addiu(&buf, A2, A0, off);
+	else
+		uasm_i_ori(&buf, A2, A0, off);
+
+	if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
+		uasm_i_lui(&buf, AT, 0xa000);
+
+	off = min(8, pref_bias_clear_store / cache_line_size) *
+	      cache_line_size;
+	while (off) {
+		build_clear_pref(&buf, -off);
+		off -= cache_line_size;
+	}
+	uasm_l_clear_pref(&l, buf);
+	do {
+		build_clear_pref(&buf, off);
+		build_clear_store(&buf, off);
+		off += clear_word_size;
+	} while (off < half_clear_loop_size);
+	pg_addiu(&buf, A0, A0, 2 * off);
+	off = -off;
+	do {
+		build_clear_pref(&buf, off);
+		if (off == -clear_word_size)
+			uasm_il_bne(&buf, &r, A0, A2, label_clear_pref);
+		build_clear_store(&buf, off);
+		off += clear_word_size;
+	} while (off < 0);
+
+	if (pref_bias_clear_store) {
+		pg_addiu(&buf, A2, A0, pref_bias_clear_store);
+		uasm_l_clear_nopref(&l, buf);
+		off = 0;
+		do {
+			build_clear_store(&buf, off);
+			off += clear_word_size;
+		} while (off < half_clear_loop_size);
+		pg_addiu(&buf, A0, A0, 2 * off);
+		off = -off;
+		do {
+			if (off == -clear_word_size)
+				uasm_il_bne(&buf, &r, A0, A2,
+					    label_clear_nopref);
+			build_clear_store(&buf, off);
+			off += clear_word_size;
+		} while (off < 0);
+	}
+
+	uasm_i_jr(&buf, RA);
+	uasm_i_nop(&buf);
+
+	BUG_ON(buf > clear_page_array + ARRAY_SIZE(clear_page_array));
+
+	uasm_resolve_relocs(relocs, labels);
+
+	pr_debug("Synthesized clear page handler (%u instructions).\n",
+		 (u32)(buf - clear_page_array));
+
+	pr_debug("\t.set push\n");
+	pr_debug("\t.set noreorder\n");
+	for (i = 0; i < (buf - clear_page_array); i++)
+		pr_debug("\t.word 0x%08x\n", clear_page_array[i]);
+	pr_debug("\t.set pop\n");
+}
+
+static void __init build_copy_load(u32 **buf, int reg, int off)
+{
+	if (cpu_has_64bit_gp_regs) {
+		uasm_i_ld(buf, reg, off, A1);
+	} else {
+		uasm_i_lw(buf, reg, off, A1);
+	}
+}
+
+static void __init build_copy_store(u32 **buf, int reg, int off)
+{
+	if (cpu_has_64bit_gp_regs) {
+		uasm_i_sd(buf, reg, off, A0);
+	} else {
+		uasm_i_sw(buf, reg, off, A0);
+	}
+}
+
+static inline void build_copy_load_pref(u32 **buf, int off)
+{
+	if (off & cache_line_mask())
+		return;
+
+	if (pref_bias_copy_load)
+		uasm_i_pref(buf, pref_src_mode, pref_bias_copy_load + off, A1);
+}
+
+static inline void build_copy_store_pref(u32 **buf, int off)
+{
+	if (off & cache_line_mask())
+		return;
+
+	if (pref_bias_copy_store) {
+		uasm_i_pref(buf, pref_dst_mode, pref_bias_copy_store + off,
+			    A0);
+	} else if (cpu_has_cache_cdex_s) {
+		uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0);
+	} else if (cpu_has_cache_cdex_p) {
+		if (R4600_V1_HIT_CACHEOP_WAR && cpu_is_r4600_v1_x()) {
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+			uasm_i_nop(buf);
+		}
+
+		if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
+			uasm_i_lw(buf, ZERO, ZERO, AT);
+
+		uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0);
+	}
+}
+
+void __init build_copy_page(void)
+{
+	int off;
+	u32 *buf = (u32 *)&copy_page_array;
+	struct uasm_label *l = labels;
+	struct uasm_reloc *r = relocs;
+	int i;
+
+	memset(labels, 0, sizeof(labels));
+	memset(relocs, 0, sizeof(relocs));
+
+	set_prefetch_parameters();
+
+	/*
+	 * This algorithm makes the following assumptions:
+	 *   - All prefetch biases are multiples of 8 words.
+	 *   - The prefetch biases are less than one page.
+	 *   - The store prefetch bias isn't greater than the load
+	 *     prefetch bias.
+	 */
+	BUG_ON(pref_bias_copy_load % (8 * copy_word_size));
+	BUG_ON(pref_bias_copy_store % (8 * copy_word_size));
+	BUG_ON(PAGE_SIZE < pref_bias_copy_load);
+	BUG_ON(pref_bias_copy_store > pref_bias_copy_load);
+
+	off = PAGE_SIZE - pref_bias_copy_load;
+	if (off > 0xffff)
+		pg_addiu(&buf, A2, A0, off);
+	else
+		uasm_i_ori(&buf, A2, A0, off);
+
+	if (R4600_V2_HIT_CACHEOP_WAR && cpu_is_r4600_v2_x())
+		uasm_i_lui(&buf, AT, 0xa000);
+
+	off = min(8, pref_bias_copy_load / cache_line_size) * cache_line_size;
+	while (off) {
+		build_copy_load_pref(&buf, -off);
+		off -= cache_line_size;
+	}
+	off = min(8, pref_bias_copy_store / cache_line_size) * cache_line_size;
+	while (off) {
+		build_copy_store_pref(&buf, -off);
+		off -= cache_line_size;
+	}
+	uasm_l_copy_pref_both(&l, buf);
+	do {
+		build_copy_load_pref(&buf, off);
+		build_copy_load(&buf, T0, off);
+		build_copy_load_pref(&buf, off + copy_word_size);
+		build_copy_load(&buf, T1, off + copy_word_size);
+		build_copy_load_pref(&buf, off + 2 * copy_word_size);
+		build_copy_load(&buf, T2, off + 2 * copy_word_size);
+		build_copy_load_pref(&buf, off + 3 * copy_word_size);
+		build_copy_load(&buf, T3, off + 3 * copy_word_size);
+		build_copy_store_pref(&buf, off);
+		build_copy_store(&buf, T0, off);
+		build_copy_store_pref(&buf, off + copy_word_size);
+		build_copy_store(&buf, T1, off + copy_word_size);
+		build_copy_store_pref(&buf, off + 2 * copy_word_size);
+		build_copy_store(&buf, T2, off + 2 * copy_word_size);
+		build_copy_store_pref(&buf, off + 3 * copy_word_size);
+		build_copy_store(&buf, T3, off + 3 * copy_word_size);
+		off += 4 * copy_word_size;
+	} while (off < half_copy_loop_size);
+	pg_addiu(&buf, A1, A1, 2 * off);
+	pg_addiu(&buf, A0, A0, 2 * off);
+	off = -off;
+	do {
+		build_copy_load_pref(&buf, off);
+		build_copy_load(&buf, T0, off);
+		build_copy_load_pref(&buf, off + copy_word_size);
+		build_copy_load(&buf, T1, off + copy_word_size);
+		build_copy_load_pref(&buf, off + 2 * copy_word_size);
+		build_copy_load(&buf, T2, off + 2 * copy_word_size);
+		build_copy_load_pref(&buf, off + 3 * copy_word_size);
+		build_copy_load(&buf, T3, off + 3 * copy_word_size);
+		build_copy_store_pref(&buf, off);
+		build_copy_store(&buf, T0, off);
+		build_copy_store_pref(&buf, off + copy_word_size);
+		build_copy_store(&buf, T1, off + copy_word_size);
+		build_copy_store_pref(&buf, off + 2 * copy_word_size);
+		build_copy_store(&buf, T2, off + 2 * copy_word_size);
+		build_copy_store_pref(&buf, off + 3 * copy_word_size);
+		if (off == -(4 * copy_word_size))
+			uasm_il_bne(&buf, &r, A2, A0, label_copy_pref_both);
+		build_copy_store(&buf, T3, off + 3 * copy_word_size);
+		off += 4 * copy_word_size;
+	} while (off < 0);
+
+	if (pref_bias_copy_load - pref_bias_copy_store) {
+		pg_addiu(&buf, A2, A0,
+			 pref_bias_copy_load - pref_bias_copy_store);
+		uasm_l_copy_pref_store(&l, buf);
+		off = 0;
+		do {
+			build_copy_load(&buf, T0, off);
+			build_copy_load(&buf, T1, off + copy_word_size);
+			build_copy_load(&buf, T2, off + 2 * copy_word_size);
+			build_copy_load(&buf, T3, off + 3 * copy_word_size);
+			build_copy_store_pref(&buf, off);
+			build_copy_store(&buf, T0, off);
+			build_copy_store_pref(&buf, off + copy_word_size);
+			build_copy_store(&buf, T1, off + copy_word_size);
+			build_copy_store_pref(&buf, off + 2 * copy_word_size);
+			build_copy_store(&buf, T2, off + 2 * copy_word_size);
+			build_copy_store_pref(&buf, off + 3 * copy_word_size);
+			build_copy_store(&buf, T3, off + 3 * copy_word_size);
+			off += 4 * copy_word_size;
+		} while (off < half_copy_loop_size);
+		pg_addiu(&buf, A1, A1, 2 * off);
+		pg_addiu(&buf, A0, A0, 2 * off);
+		off = -off;
+		do {
+			build_copy_load(&buf, T0, off);
+			build_copy_load(&buf, T1, off + copy_word_size);
+			build_copy_load(&buf, T2, off + 2 * copy_word_size);
+			build_copy_load(&buf, T3, off + 3 * copy_word_size);
+			build_copy_store_pref(&buf, off);
+			build_copy_store(&buf, T0, off);
+			build_copy_store_pref(&buf, off + copy_word_size);
+			build_copy_store(&buf, T1, off + copy_word_size);
+			build_copy_store_pref(&buf, off + 2 * copy_word_size);
+			build_copy_store(&buf, T2, off + 2 * copy_word_size);
+			build_copy_store_pref(&buf, off + 3 * copy_word_size);
+			if (off == -(4 * copy_word_size))
+				uasm_il_bne(&buf, &r, A2, A0,
+					    label_copy_pref_store);
+			build_copy_store(&buf, T3, off + 3 * copy_word_size);
+			off += 4 * copy_word_size;
+		} while (off < 0);
+	}
+
+	if (pref_bias_copy_store) {
+		pg_addiu(&buf, A2, A0, pref_bias_copy_store);
+		uasm_l_copy_nopref(&l, buf);
+		off = 0;
+		do {
+			build_copy_load(&buf, T0, off);
+			build_copy_load(&buf, T1, off + copy_word_size);
+			build_copy_load(&buf, T2, off + 2 * copy_word_size);
+			build_copy_load(&buf, T3, off + 3 * copy_word_size);
+			build_copy_store(&buf, T0, off);
+			build_copy_store(&buf, T1, off + copy_word_size);
+			build_copy_store(&buf, T2, off + 2 * copy_word_size);
+			build_copy_store(&buf, T3, off + 3 * copy_word_size);
+			off += 4 * copy_word_size;
+		} while (off < half_copy_loop_size);
+		pg_addiu(&buf, A1, A1, 2 * off);
+		pg_addiu(&buf, A0, A0, 2 * off);
+		off = -off;
+		do {
+			build_copy_load(&buf, T0, off);
+			build_copy_load(&buf, T1, off + copy_word_size);
+			build_copy_load(&buf, T2, off + 2 * copy_word_size);
+			build_copy_load(&buf, T3, off + 3 * copy_word_size);
+			build_copy_store(&buf, T0, off);
+			build_copy_store(&buf, T1, off + copy_word_size);
+			build_copy_store(&buf, T2, off + 2 * copy_word_size);
+			if (off == -(4 * copy_word_size))
+				uasm_il_bne(&buf, &r, A2, A0,
+					    label_copy_nopref);
+			build_copy_store(&buf, T3, off + 3 * copy_word_size);
+			off += 4 * copy_word_size;
+		} while (off < 0);
+	}
+
+	uasm_i_jr(&buf, RA);
+	uasm_i_nop(&buf);
+
+	BUG_ON(buf > copy_page_array + ARRAY_SIZE(copy_page_array));
+
+	uasm_resolve_relocs(relocs, labels);
+
+	pr_debug("Synthesized copy page handler (%u instructions).\n",
+		 (u32)(buf - copy_page_array));
+
+	pr_debug("\t.set push\n");
+	pr_debug("\t.set noreorder\n");
+	for (i = 0; i < (buf - copy_page_array); i++)
+		pr_debug("\t.word 0x%08x\n", copy_page_array[i]);
+	pr_debug("\t.set pop\n");
+}
+
+#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+
+/*
+ * Pad descriptors to cacheline, since each is exclusively owned by a
+ * particular CPU.
+ */
+struct dmadscr {
+	u64 dscr_a;
+	u64 dscr_b;
+	u64 pad_a;
+	u64 pad_b;
+} ____cacheline_aligned_in_smp page_descr[DM_NUM_CHANNELS];
+
+void sb1_dma_init(void)
+{
+	int i;
+
+	for (i = 0; i < DM_NUM_CHANNELS; i++) {
+		const u64 base_val = CPHYSADDR((unsigned long)&page_descr[i]) |
+				     V_DM_DSCR_BASE_RINGSZ(1);
+		void *base_reg = IOADDR(A_DM_REGISTER(i, R_DM_DSCR_BASE));
+
+		__raw_writeq(base_val, base_reg);
+		__raw_writeq(base_val | M_DM_DSCR_BASE_RESET, base_reg);
+		__raw_writeq(base_val | M_DM_DSCR_BASE_ENABL, base_reg);
+	}
+}
+
+void clear_page(void *page)
+{
+	u64 to_phys = CPHYSADDR((unsigned long)page);
+	unsigned int cpu = smp_processor_id();
+
+	/* if the page is not in KSEG0, use old way */
+	if ((long)KSEGX((unsigned long)page) != (long)CKSEG0)
+		return clear_page_cpu(page);
+
+	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_ZERO_MEM |
+				 M_DM_DSCRA_L2C_DEST | M_DM_DSCRA_INTERRUPT;
+	page_descr[cpu].dscr_b = V_DM_DSCRB_SRC_LENGTH(PAGE_SIZE);
+	__raw_writeq(1, IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_COUNT)));
+
+	/*
+	 * Don't really want to do it this way, but there's no
+	 * reliable way to delay completion detection.
+	 */
+	while (!(__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE_DEBUG)))
+		 & M_DM_DSCR_BASE_INTERRUPT))
+		;
+	__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE)));
+}
+
+void copy_page(void *to, void *from)
+{
+	u64 from_phys = CPHYSADDR((unsigned long)from);
+	u64 to_phys = CPHYSADDR((unsigned long)to);
+	unsigned int cpu = smp_processor_id();
+
+	/* if any page is not in KSEG0, use old way */
+	if ((long)KSEGX((unsigned long)to) != (long)CKSEG0
+	    || (long)KSEGX((unsigned long)from) != (long)CKSEG0)
+		return copy_page_cpu(to, from);
+
+	page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_L2C_DEST |
+				 M_DM_DSCRA_INTERRUPT;
+	page_descr[cpu].dscr_b = from_phys | V_DM_DSCRB_SRC_LENGTH(PAGE_SIZE);
+	__raw_writeq(1, IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_COUNT)));
+
+	/*
+	 * Don't really want to do it this way, but there's no
+	 * reliable way to delay completion detection.
+	 */
+	while (!(__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE_DEBUG)))
+		 & M_DM_DSCR_BASE_INTERRUPT))
+		;
+	__raw_readq(IOADDR(A_DM_REGISTER(cpu, R_DM_DSCR_BASE)));
+}
+
+#endif /* CONFIG_SIBYTE_DMA_PAGEOPS */

From dmitri.vorobiev@gmail.com Mon Feb 18 21:02:43 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 21:02:46 +0000 (GMT)
Received: from smtp06.mtu.ru ([62.5.255.53]:50662 "EHLO smtp06.mtu.ru")
	by ftp.linux-mips.org with ESMTP id S28574353AbYBRVCn (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 21:02:43 +0000
Received: from smtp06.mtu.ru (localhost [127.0.0.1])
	by smtp06.mtu.ru (Postfix) with ESMTP id 2471C8FFC55;
	Tue, 19 Feb 2008 00:02:38 +0300 (MSK)
Received: from localhost.localdomain (ppp85-140-10-189.pppoe.mtu-net.ru [85.140.10.189])
	by smtp06.mtu.ru (Postfix) with ESMTP id 002A38FFC3D;
	Tue, 19 Feb 2008 00:02:37 +0300 (MSK)
From:	Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
To:	ralf@linux-mips.org, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] [MIPS] Enable the timerfd_*() o32 system calls
Date:	Tue, 19 Feb 2008 00:02:37 +0300
Message-Id: <1203368557-32356-1-git-send-email-dmitri.vorobiev@gmail.com>
X-Mailer: git-send-email 1.5.3.6
X-DCC-STREAM-Metrics: smtp06.mtu.ru 10001; Body=0 Fuz1=0 Fuz2=0
Return-Path: <dmitri.vorobiev@gmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18258
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dmitri.vorobiev@gmail.com
Precedence: bulk
X-list: linux-mips
Content-Length: 1986
Lines: 64

This patch enables the system calls timerfd_create(), timerfd_settime()
and timerfd_gettime() for MIPS architecture.

Please see the following Bugzilla entry for more details:

http://bugzilla.kernel.org/show_bug.cgi?id=10038

This was tested using a Malta 4Kc board in both little-endian and
big-endian modes. The unit test program is available from the URL
above.

Note that only the "o32"-style system calls have been added. This is
due to the fact that I have no suitable equipment to test the other
flavors of MIPS ABI.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
---
 arch/mips/kernel/scall32-o32.S |    3 +++
 include/asm-mips/unistd.h      |    7 +++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index f798139..08a9c50 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -663,6 +663,9 @@ einval:	li	v0, -EINVAL
 	sys	sys_ni_syscall		0
 	sys	sys_eventfd		1
 	sys	sys_fallocate		6	/* 4320 */
+	sys	sys_timerfd_create	2
+	sys	sys_timerfd_gettime	2
+	sys	sys_timerfd_settime	4
 	.endm
 
 	/* We pre-compute the number of _instruction_ bytes needed to
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h
index fa9a587..7316b55 100644
--- a/include/asm-mips/unistd.h
+++ b/include/asm-mips/unistd.h
@@ -341,16 +341,19 @@
 #define __NR_timerfd			(__NR_Linux + 318)
 #define __NR_eventfd			(__NR_Linux + 319)
 #define __NR_fallocate			(__NR_Linux + 320)
+#define __NR_timerfd_create		(__NR_Linux + 321)
+#define __NR_timerfd_gettime		(__NR_Linux + 322)
+#define __NR_timerfd_settime		(__NR_Linux + 323)
 
 /*
  * Offset of the last Linux o32 flavoured syscall
  */
-#define __NR_Linux_syscalls		320
+#define __NR_Linux_syscalls		323
 
 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
 
 #define __NR_O32_Linux			4000
-#define __NR_O32_Linux_syscalls		320
+#define __NR_O32_Linux_syscalls		323
 
 #if _MIPS_SIM == _MIPS_SIM_ABI64
 
-- 
1.5.3


From ralf@linux-mips.org Mon Feb 18 21:22:27 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 21:22:29 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:3806 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28574398AbYBRVW1 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 21:22:27 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1ILMQeF010417;
	Mon, 18 Feb 2008 21:22:26 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1ILMPUr010416;
	Mon, 18 Feb 2008 21:22:25 GMT
Date:	Mon, 18 Feb 2008 21:22:25 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thiemo Seufer <ths@networkno.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] Fix build failure for 64-bit SB-1 kernels
Message-ID: <20080218212225.GA4133@linux-mips.org>
References: <20080214165825.GE29497@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080214165825.GE29497@networkno.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18259
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 268
Lines: 10

On Thu, Feb 14, 2008 at 04:58:25PM +0000, Thiemo Seufer wrote:

> Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror.
> The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS enabled.

Applied to 2.6.23 and newer.

Thanks,

  Ralf

From ralf@linux-mips.org Mon Feb 18 21:28:25 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 21:28:27 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:63720 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28574393AbYBRV2Z (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 18 Feb 2008 21:28:25 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1ILSNMc010480;
	Mon, 18 Feb 2008 21:28:24 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1ILSNsf010479;
	Mon, 18 Feb 2008 21:28:23 GMT
Date:	Mon, 18 Feb 2008 21:28:23 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thiemo Seufer <ths@networkno.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] Reimplement clear_page/copy_page
Message-ID: <20080218212823.GA10420@linux-mips.org>
References: <20080218193249.GD4747@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218193249.GD4747@networkno.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18260
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 1165
Lines: 30

On Mon, Feb 18, 2008 at 07:32:49PM +0000, Thiemo Seufer wrote:

> Fold the SB-1 specific implementation of clear_page/copy_page in the
> generic version, and rewrite that one in tlbex style. The immediate
> benefits:
>   - It converts the compile-time workaround for SB-1 pass 1 prefetches
>     to a more efficient run-time check.
>   - It allows adjustment of loop unfolling, which helps to reduce the
>     number of redundant cdex cache ops.
>   - It fixes some esoteric cornercases (the cache line length calculations
>     can go wrong, and support for 64k pages without prefetch instructions
>     will overflow the addiu immediate).
>   - Somewhat better guesses of "good" prefetch values.
> 
> 
> Signed-off-by: Thiemo Seufer <ths@networkno.de>
> ---
> 
> Lmbench3 running on a BCM1480 system shows improvements for some
> benchmarks (three runs with the original kernel, then three runs
> with the patched kernel), most markedly (~5%) for open/close and
> exec:

The patch is certainly a good thing but I somehow doubt for many of the
improvments that they are a result of the patch and not the unavoidable
benchmarking noise.

Queued for 2.6.26,

  Ralf

From tsbogend@alpha.franken.de Mon Feb 18 21:38:36 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 18 Feb 2008 21:38:39 +0000 (GMT)
Received: from elvis.franken.de ([193.175.24.41]:3262 "EHLO elvis.franken.de")
	by ftp.linux-mips.org with ESMTP id S28574406AbYBRVig (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 18 Feb 2008 21:38:36 +0000
Received: from uucp (helo=solo.franken.de)
	by elvis.franken.de with local-bsmtp (Exim 3.36 #1)
	id 1JRDh5-0003Ho-00; Mon, 18 Feb 2008 22:38:35 +0100
Received: by solo.franken.de (Postfix, from userid 1000)
	id 69ADAC2AE2; Mon, 18 Feb 2008 22:38:32 +0100 (CET)
From:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: [PATCH] IP28 default config
To:	linux-mips@linux-mips.org
cc:	ralf@linux-mips.org
Message-Id: <20080218213832.69ADAC2AE2@solo.franken.de>
Date:	Mon, 18 Feb 2008 22:38:32 +0100 (CET)
Return-Path: <tsbogend@alpha.franken.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18261
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: tsbogend@alpha.franken.de
Precedence: bulk
X-list: linux-mips
Content-Length: 22409
Lines: 905

This patch adds a default config for SGI IP28

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
---

 arch/mips/configs/ip28_defconfig |  891 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 891 insertions(+), 0 deletions(-)

diff --git a/arch/mips/configs/ip28_defconfig b/arch/mips/configs/ip28_defconfig
new file mode 100644
index 0000000..ec188be
--- /dev/null
+++ b/arch/mips/configs/ip28_defconfig
@@ -0,0 +1,891 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.25-rc1
+# Mon Feb 11 15:58:54 2008
+#
+CONFIG_MIPS=y
+
+#
+# Machine selection
+#
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_BASLER_EXCITE is not set
+# CONFIG_BCM47XX is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_LEMOTE_FULONG is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SEAD is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+CONFIG_SGI_IP28=y
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_TOSHIBA_JMR3927 is not set
+# CONFIG_TOSHIBA_RBTX4927 is not set
+# CONFIG_TOSHIBA_RBTX4938 is not set
+# CONFIG_WR_PPMC is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
+CONFIG_ARC=y
+CONFIG_CEVT_R4K=y
+CONFIG_CSRC_R4K=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_DMA_NEED_PCI_MAP_STATE=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+# CONFIG_HOTPLUG_CPU is not set
+CONFIG_I8259=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_SWAP_IO_SPACE=y
+CONFIG_SGI_HAS_DS1286=y
+CONFIG_SGI_HAS_INDYDOG=y
+CONFIG_SGI_HAS_SEEQ=y
+CONFIG_SGI_HAS_WD93=y
+CONFIG_SGI_HAS_ZILOG=y
+CONFIG_SGI_HAS_I8042=y
+CONFIG_DEFAULT_SGI_PARTITION=y
+CONFIG_MIPS_L1_CACHE_SHIFT=7
+CONFIG_ARC_CONSOLE=y
+CONFIG_ARC_PROMLIB=y
+CONFIG_ARC64=y
+CONFIG_BOOT_ELF64=y
+
+#
+# CPU selection
+#
+# CONFIG_CPU_LOONGSON2 is not set
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+CONFIG_CPU_R10000=y
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+CONFIG_SYS_HAS_CPU_R10000=y
+CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+
+#
+# Kernel type
+#
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+CONFIG_CPU_HAS_LLSC=y
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_RESOURCES_64BIT=y
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_48 is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_128 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_HZ=250
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_MIPS_INSANE_LARGE is not set
+# CONFIG_KEXEC is not set
+CONFIG_SECCOMP=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
+# CONFIG_FAIR_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_RELAY=y
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+# CONFIG_HOTPLUG is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_HAVE_KPROBES is not set
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_EISA=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ISA=y
+CONFIG_EISA=y
+CONFIG_EISA_NAMES=y
+CONFIG_MMU=y
+CONFIG_I8253=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_MIPS32_COMPAT=y
+CONFIG_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_MIPS32_O32=y
+CONFIG_MIPS32_N32=y
+CONFIG_BINFMT_ELF32=y
+
+#
+# Power management options
+#
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SUSPEND is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+CONFIG_XFRM_MIGRATE=y
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=y
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+# CONFIG_MTD is not set
+# CONFIG_PARPORT is not set
+# CONFIG_PNP is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_CONSTANTS=y
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+CONFIG_SGIWD93_SCSI=y
+# CONFIG_SCSI_AHA1740 is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_SIM710 is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+# CONFIG_AX88796 is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+CONFIG_SGISEEQ=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_PS2_ALPS is not set
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+# CONFIG_MOUSE_PS2_SYNAPTICS is not set
+# CONFIG_MOUSE_PS2_LIFEBOOK is not set
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_IP22_ZILOG=y
+CONFIG_SERIAL_IP22_ZILOG_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_RTC is not set
+CONFIG_SGI_DS1286=y
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_INDYDOG=y
+
+#
+# ISA-based Watchdog Cards
+#
+# CONFIG_PCWATCHDOG is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_WDT is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+CONFIG_USB_SUPPORT=y
+# CONFIG_USB_ARCH_HAS_HCD is not set
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# Userspace I/O
+#
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+CONFIG_GENERIC_ACL=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_BIND34 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SAMPLES is not set
+CONFIG_CMDLINE=""
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+# CONFIG_CRYPTO_SEQIV is not set
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_HW is not set
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+# CONFIG_CRC32 is not set
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y

From ralf@linux-mips.org Tue Feb 19 12:10:19 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 12:10:22 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:29841 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20024246AbYBSMKT (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 12:10:19 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JCAI41013753;
	Tue, 19 Feb 2008 12:10:19 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JCAI2d013752;
	Tue, 19 Feb 2008 12:10:18 GMT
Date:	Tue, 19 Feb 2008 12:10:18 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] IP28 default config
Message-ID: <20080219121018.GA13716@linux-mips.org>
References: <20080218213832.69ADAC2AE2@solo.franken.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218213832.69ADAC2AE2@solo.franken.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18262
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 208
Lines: 9

On Mon, Feb 18, 2008 at 10:38:32PM +0100, Thomas Bogendoerfer wrote:

> This patch adds a default config for SGI IP28

A little late for 2.6.25 but I think this one should go in, so applied.

Thanks,

  Ralf

From ralf@linux-mips.org Tue Feb 19 14:19:41 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 14:19:43 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:62659 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20024611AbYBSOTl (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 14:19:41 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JEJeR5014998;
	Tue, 19 Feb 2008 14:19:40 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JEJeWs014997;
	Tue, 19 Feb 2008 14:19:40 GMT
Date:	Tue, 19 Feb 2008 14:19:40 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [MIPS] Enable the timerfd_*() o32 system calls
Message-ID: <20080219141940.GA14991@linux-mips.org>
References: <1203368557-32356-1-git-send-email-dmitri.vorobiev@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1203368557-32356-1-git-send-email-dmitri.vorobiev@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18263
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 714
Lines: 21

On Tue, Feb 19, 2008 at 12:02:37AM +0300, Dmitri Vorobiev wrote:

> This patch enables the system calls timerfd_create(), timerfd_settime()
> and timerfd_gettime() for MIPS architecture.
> 
> Please see the following Bugzilla entry for more details:
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=10038
> 
> This was tested using a Malta 4Kc board in both little-endian and
> big-endian modes. The unit test program is available from the URL
> above.
> 
> Note that only the "o32"-style system calls have been added. This is
> due to the fact that I have no suitable equipment to test the other
> flavors of MIPS ABI.

Thanks.  I added the missing bits for the others ABIs and applied the
combined patch.

  Ralf

From ralf@linux-mips.org Tue Feb 19 14:26:04 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 14:26:06 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:3024 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20024692AbYBSO0E (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 14:26:04 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JEQ4lb015119;
	Tue, 19 Feb 2008 14:26:04 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JEQ3P7015118;
	Tue, 19 Feb 2008 14:26:03 GMT
Date:	Tue, 19 Feb 2008 14:26:03 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Adrian Bunk <bunk@kernel.org>
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [2.6 patch] mips: finish the Qemu platform removal
Message-ID: <20080219142603.GA15037@linux-mips.org>
References: <20080217200951.GI1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080217200951.GI1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18264
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 196
Lines: 9

On Sun, Feb 17, 2008 at 10:09:51PM +0200, Adrian Bunk wrote:

> The following files can now be removed:
> - arch/mips/configs/qemu_defconfig
> - include/asm-mips/qemu.h

Applied.  Thanks,

  Ralf

From ralf@linux-mips.org Tue Feb 19 15:30:10 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 15:30:12 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:24994 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20026846AbYBSPaK (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 15:30:10 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JFU9KT028891;
	Tue, 19 Feb 2008 15:30:10 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JFU8WV028883;
	Tue, 19 Feb 2008 15:30:08 GMT
Date:	Tue, 19 Feb 2008 15:30:08 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc:	Michael Buesch <mb@bu3sch.de>, linux-mips@linux-mips.org
Subject: Re: Linux MIPS PCI resource sanity check
Message-ID: <20080219153008.GA28788@linux-mips.org>
References: <200802161139.10791.mb@bu3sch.de> <47B6BFD4.5050404@ru.mvista.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47B6BFD4.5050404@ru.mvista.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18265
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 740
Lines: 18

On Sat, Feb 16, 2008 at 01:49:56PM +0300, Sergei Shtylyov wrote:

>   It makes sure that a PCI resource is allocated (base of 0 means that it's 
> unallocated due to previously detected resource conlict (or some other 
> reason).
>
>> It triggers for me on a BCM4318 device which is behind a BCM4710 PCI bridge.
>> r->start is 0 and r->end is 0x1FFF when this triggers.
>> If I simply comment out that check the device is detected correctly
>> and seems to initialize just fine.
>
>    No, that failnig resource should be relocated.

The resources were assigned during the PCI bus scan so at least with the
current implementation it's too late to reassign resources.  I get the
feeling this is an indication of a problem elsewhere.

  Ralf

From ralf@linux-mips.org Tue Feb 19 15:52:02 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 15:52:05 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:19093 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20026792AbYBSPwC (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 15:52:02 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JFpumn029314;
	Tue, 19 Feb 2008 15:51:56 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JFpu4f029313;
	Tue, 19 Feb 2008 15:51:56 GMT
Date:	Tue, 19 Feb 2008 15:51:56 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Michael Buesch <mb@bu3sch.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: Linux MIPS PCI resource sanity check
Message-ID: <20080219155156.GA29067@linux-mips.org>
References: <200802161139.10791.mb@bu3sch.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200802161139.10791.mb@bu3sch.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18266
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 368
Lines: 10

On Sat, Feb 16, 2008 at 11:39:10AM +0100, Michael Buesch wrote:

Can you take a look at ed6d14f9760857c745206c978b80352fc09cfd19 which fixed
a somewhat similar problem for i386, does that seem to be related to your
problem?

The i386 fix makes sense so I'm almost decieded to apply to the MIPS code
even if it should turn out not to make a difference for you.

  Ralf

From ralf@linux-mips.org Tue Feb 19 16:38:10 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 16:38:12 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:61090 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20027001AbYBSQiK (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 16:38:10 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JGc93f011141;
	Tue, 19 Feb 2008 16:38:10 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JGc80x011140;
	Tue, 19 Feb 2008 16:38:08 GMT
Date:	Tue, 19 Feb 2008 16:38:08 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Adrian Bunk <bunk@kernel.org>
Cc:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [2.6.25 patch] mips: fix SNI_RM EISA=n compilation
Message-ID: <20080219163808.GA11006@linux-mips.org>
References: <20080217215948.GL1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080217215948.GL1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18267
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 215
Lines: 8

On Sun, Feb 17, 2008 at 11:59:48PM +0200, Adrian Bunk wrote:

> This patch fixes the following build error with CONFIG_EISA=n caused by 
> commit 231a35d37293ab88d325a9cb94e5474c156282c0:

Applied.  Thanks,

  Ralf

From ralf@linux-mips.org Tue Feb 19 16:43:21 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 16:43:23 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:64235 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20027005AbYBSQnV (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 16:43:21 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JGhKOb014107;
	Tue, 19 Feb 2008 16:43:20 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JGhJiJ014106;
	Tue, 19 Feb 2008 16:43:19 GMT
Date:	Tue, 19 Feb 2008 16:43:19 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Aurelien Jarno <aurelien@aurel32.net>
Cc:	linux-mips@linux-mips.org, Adrian Bunk <adrian.bunk@movial.fi>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: [PATCH] [MIPS] BCM47xx defconfig file.
Message-ID: <20080219164319.GA12753@linux-mips.org>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi> <20080218112327.GA32094@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218112327.GA32094@hall.aurel32.net>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18268
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 90
Lines: 5

On Mon, Feb 18, 2008 at 12:23:27PM +0100, Aurelien Jarno wrote:

Thanks, applied.

  Ralf

From ralf@linux-mips.org Tue Feb 19 16:50:10 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 16:50:12 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:33951 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20026991AbYBSQuK (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 16:50:10 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JGo8I4014224;
	Tue, 19 Feb 2008 16:50:09 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JGo8Mv014223;
	Tue, 19 Feb 2008 16:50:08 GMT
Date:	Tue, 19 Feb 2008 16:50:08 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Adrian Bunk <adrian.bunk@movial.fi>
Cc:	linux-mips@linux-mips.org, Aurelien Jarno <aurelien@aurel32.net>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: mips: compile testing of 2.6.25-rc2
Message-ID: <20080219165008.GA14178@linux-mips.org>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218010314.GO1403@cs181133002.pp.htv.fi>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18269
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 210
Lines: 7

On Mon, Feb 18, 2008 at 03:03:14AM +0200, Adrian Bunk wrote:

> I did a compile testing of all mips defconfigs in 2.6.25-rc2.

There is a public autobuilder at http://mipslinux.simtec.co.uk/kautobuild.

  Ralf

From ralf@linux-mips.org Tue Feb 19 16:56:34 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 16:56:36 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:3242 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20027001AbYBSQ4e (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 16:56:34 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JGuXfs015647;
	Tue, 19 Feb 2008 16:56:33 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JGuWjU015646;
	Tue, 19 Feb 2008 16:56:32 GMT
Date:	Tue, 19 Feb 2008 16:56:32 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Aurelien Jarno <aurelien@aurel32.net>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] [MIPS] Add platform MTD support for the WGT634U machine
Message-ID: <20080219165632.GA15639@linux-mips.org>
References: <20080207021716.GA3350@volta.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080207021716.GA3350@volta.aurel32.net>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18270
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 239
Lines: 8

On Thu, Feb 07, 2008 at 03:17:16AM +0100, Aurelien Jarno wrote:

> The patch below adds MTD support for the WGT634U machine by defining a
> new platform_device for the flash.

I think this one should still go into 2.6.25, applied.

  Ralf

From ralf@linux-mips.org Tue Feb 19 17:01:51 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 17:01:53 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:27582 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20027008AbYBSRBv (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 17:01:51 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JH1ngL017195;
	Tue, 19 Feb 2008 17:01:49 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JH1l7I017194;
	Tue, 19 Feb 2008 17:01:47 GMT
Date:	Tue, 19 Feb 2008 17:01:47 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Aurelien Jarno <aurelien@aurel32.net>,
	Adrian Bunk <bunk@kernel.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [MIPS] BCM47XX: use new SSB SPROM data structure
Message-ID: <20080219170147.GA15678@linux-mips.org>
References: <20080217200947.GH1403@cs181133002.pp.htv.fi> <20080218074944.GA9317@hall.aurel32.net> <20080218100126.GA22519@hall.aurel32.net> <20080218100431.GC22519@hall.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080218100431.GC22519@hall.aurel32.net>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18271
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 194
Lines: 8

On Mon, Feb 18, 2008 at 11:04:31AM +0100, Aurelien Jarno wrote:

> Switch the BCM47XX code to the new SPROM data structure now that
> the old one has been removed.

Thanks, applied too.

  Ralf

From adrian.bunk@movial.fi Tue Feb 19 17:04:35 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 17:04:37 +0000 (GMT)
Received: from smtp.movial.fi ([62.236.91.34]:45764 "EHLO smtp.movial.fi")
	by ftp.linux-mips.org with ESMTP id S20027001AbYBSREf (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Tue, 19 Feb 2008 17:04:35 +0000
Received: from localhost (mailscanner.hel.movial.fi [172.17.81.9])
	by smtp.movial.fi (Postfix) with ESMTP id 7FEE0C8175;
	Tue, 19 Feb 2008 17:04:29 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at movial.fi
Received: from smtp.movial.fi ([62.236.91.34])
	by localhost (mailscanner.hel.movial.fi [172.17.81.9]) (amavisd-new, port 10026)
	with ESMTP id r5MP8qtaOW5L; Tue, 19 Feb 2008 19:04:29 +0200 (EET)
Received: from ext-ssh.movial.fi (ext-ssh.movial.fi [62.236.91.4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.movial.fi (Postfix) with ESMTP id 63F74C8010;
	Tue, 19 Feb 2008 17:04:29 +0000 (UTC)
Received: by ext-ssh.movial.fi (Postfix, from userid 30103)
	id 51E682006F; Tue, 19 Feb 2008 19:04:29 +0200 (EET)
Date:	Tue, 19 Feb 2008 19:04:29 +0200
From:	Adrian Bunk <adrian.bunk@movial.fi>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org, Aurelien Jarno <aurelien@aurel32.net>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: mips: compile testing of 2.6.25-rc2
Message-ID: <20080219170429.GC23655@movial.fi>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi> <20080219165008.GA14178@linux-mips.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20080219165008.GA14178@linux-mips.org>
User-Agent: Mutt/1.5.9i
Return-Path: <adrian.bunk@movial.fi>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18272
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: adrian.bunk@movial.fi
Precedence: bulk
X-list: linux-mips
Content-Length: 466
Lines: 16

On Tue, Feb 19, 2008 at 04:50:08PM +0000, Ralf Baechle wrote:
> On Mon, Feb 18, 2008 at 03:03:14AM +0200, Adrian Bunk wrote:
> 
> > I did a compile testing of all mips defconfigs in 2.6.25-rc2.
> 
> There is a public autobuilder at http://mipslinux.simtec.co.uk/kautobuild.

Neat, I only knew about http://armlinux.simtec.co.uk/kautobuild/ .

Are arm and mips the only architectures with autobuilders there or are 
more architectures available?

>   Ralf

cu
Adrian

From ralf@linux-mips.org Tue Feb 19 17:08:57 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 17:08:59 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:20645 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20027021AbYBSRI5 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 17:08:57 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1JH8uwB017282;
	Tue, 19 Feb 2008 17:08:56 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1JH8tCd017281;
	Tue, 19 Feb 2008 17:08:55 GMT
Date:	Tue, 19 Feb 2008 17:08:55 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Adrian Bunk <adrian.bunk@movial.fi>
Cc:	linux-mips@linux-mips.org, Aurelien Jarno <aurelien@aurel32.net>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Subject: Re: mips: compile testing of 2.6.25-rc2
Message-ID: <20080219170855.GB15678@linux-mips.org>
References: <20080218010314.GO1403@cs181133002.pp.htv.fi> <20080219165008.GA14178@linux-mips.org> <20080219170429.GC23655@movial.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080219170429.GC23655@movial.fi>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18273
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 553
Lines: 14

On Tue, Feb 19, 2008 at 07:04:29PM +0200, Adrian Bunk wrote:

> > There is a public autobuilder at http://mipslinux.simtec.co.uk/kautobuild.
> 
> Neat, I only knew about http://armlinux.simtec.co.uk/kautobuild/ .
> 
> Are arm and mips the only architectures with autobuilders there or are 
> more architectures available?

By the time when the MIPS autobuilder was setup it was the 2nd architecture
and the machine was running seriously out of steam.  It has been upgraded
in the meantime so maybe some more architectures have or will be added.

  Ralf

From dmitri.vorobiev@gmail.com Tue Feb 19 22:09:08 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 19 Feb 2008 22:09:11 +0000 (GMT)
Received: from ug-out-1314.google.com ([66.249.92.172]:9701 "EHLO
	ug-out-1314.google.com") by ftp.linux-mips.org with ESMTP
	id S20029618AbYBSWJI (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 19 Feb 2008 22:09:08 +0000
Received: by ug-out-1314.google.com with SMTP id u2so699949uge.39
        for <linux-mips@linux-mips.org>; Tue, 19 Feb 2008 14:09:07 -0800 (PST)
DKIM-Signature:	v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:organization:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding;
        bh=BXWoEQiiKvM56WHhwbM2D7ozmXuA7ZCYBSswilx5gAY=;
        b=qA1HZVpLYVu6SJUwtqQU/sDU/5k9FCYlZod/2NlN+2e0E3/5XcAzDQsg0ld0E29IUINsaaJ1H55ggNsYJDpGA98JqycJA4zvSTvBCD+qMZ2zYusUlF/xpAqFznev/GUXE6LK5xKT5fHOt05HsqJoHLD+KlriCOCI/TjE+CjxyKo=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:organization:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding;
        b=jLdGnDeuRMHXtClNu9awwmxjlNg5Js+AeJphdybIjaTzGjgNvx0i9lE73qKdUH9uCW0XUXNILXWeDZI31pGn1FeZ7JDbKbwJwzPteeTHtyOUjXzexIIO+gNmdc/6SbfmzM7a89FaSBKRWTKtAd9to1Sjb+MT6cetJkq3nBwXPrA=
Received: by 10.67.116.4 with SMTP id t4mr5086398ugm.68.1203458946797;
        Tue, 19 Feb 2008 14:09:06 -0800 (PST)
Received: from ?192.168.1.3? ( [85.140.8.186])
        by mx.google.com with ESMTPS id f31sm341998fkf.15.2008.02.19.14.09.05
        (version=SSLv3 cipher=RC4-MD5);
        Tue, 19 Feb 2008 14:09:05 -0800 (PST)
Message-ID: <47BB537F.7030801@gmail.com>
Date:	Wed, 20 Feb 2008 01:09:03 +0300
From:	Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
Organization: DmVo Home
User-Agent: Thunderbird 1.5.0.14pre (X11/20071022)
MIME-Version: 1.0
To:	Ralf Baechle <ralf@linux-mips.org>
CC:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [MIPS] Enable the timerfd_*() o32 system calls
References: <1203368557-32356-1-git-send-email-dmitri.vorobiev@gmail.com> <20080219141940.GA14991@linux-mips.org>
In-Reply-To: <20080219141940.GA14991@linux-mips.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Return-Path: <dmitri.vorobiev@gmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18274
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dmitri.vorobiev@gmail.com
Precedence: bulk
X-list: linux-mips
Content-Length: 794
Lines: 29

Ralf Baechle пишет:
> On Tue, Feb 19, 2008 at 12:02:37AM +0300, Dmitri Vorobiev wrote:
> 
>> This patch enables the system calls timerfd_create(), timerfd_settime()
>> and timerfd_gettime() for MIPS architecture.
>>
>> Please see the following Bugzilla entry for more details:
>>
>> http://bugzilla.kernel.org/show_bug.cgi?id=10038
>>
>> This was tested using a Malta 4Kc board in both little-endian and
>> big-endian modes. The unit test program is available from the URL
>> above.
>>
>> Note that only the "o32"-style system calls have been added. This is
>> due to the fact that I have no suitable equipment to test the other
>> flavors of MIPS ABI.
> 
> Thanks.  I added the missing bits for the others ABIs and applied the
> combined patch.

Thank you, Ralf!

Dmitri

> 
>   Ralf
> 


From dvomlehn@cisco.com Wed Feb 20 04:09:53 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 04:09:56 +0000 (GMT)
Received: from sj-iport-5.cisco.com ([171.68.10.87]:12939 "EHLO
	sj-iport-5.cisco.com") by ftp.linux-mips.org with ESMTP
	id S20022075AbYBTEJx (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 20 Feb 2008 04:09:53 +0000
X-IronPort-AV: E=Sophos;i="4.25,379,1199692800"; 
   d="scan'208";a="13623622"
Received: from sj-dkim-4.cisco.com ([171.71.179.196])
  by sj-iport-5.cisco.com with ESMTP; 19 Feb 2008 20:09:47 -0800
Received: from sj-core-1.cisco.com (sj-core-1.cisco.com [171.71.177.237])
	by sj-dkim-4.cisco.com (8.12.11/8.12.11) with ESMTP id m1K49lcY017767
	for <linux-mips@linux-mips.org>; Tue, 19 Feb 2008 20:09:47 -0800
Received: from cliff.cisco.com (cliff.cisco.com [171.69.11.141])
	by sj-core-1.cisco.com (8.12.10/8.12.6) with ESMTP id m1K49kJg000969
	for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 04:09:46 GMT
Received: from cuplxvomd01.corp.sa.net ([64.100.148.205]) by cliff.cisco.com (8.6.12/8.6.5) with ESMTP id EAA22289 for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 04:09:45 GMT
Message-ID: <47BBA809.3050505@cisco.com>
Date:	Tue, 19 Feb 2008 20:09:45 -0800
From:	David VomLehn <dvomlehn@cisco.com>
Reply-To: dvomlehn@cisco.com
User-Agent: Thunderbird 2.0.0.9 (X11/20071031)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: Does HIGHMEM work on 32-bit MIPS ports?
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature:	v=1; a=rsa-sha256; q=dns/txt; l=621; t=1203480587; x=1204344587;
	c=relaxed/simple; s=sjdkim4002;
	h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version;
	d=cisco.com; i=dvomlehn@cisco.com;
	z=From:=20David=20VomLehn=20<dvomlehn@cisco.com>
	|Subject:=20Does=20HIGHMEM=20work=20on=2032-bit=20MIPS=20po
	rts?
	|Sender:=20;
	bh=dfZtjsVYpzGueoXkb0NCcdKJuLlHxI2Gdvla2g0EqFM=;
	b=ZOxbcvdtvM3v6Gj1BCXhePpfUd6vDbBq1L6Ap+jW/WBK/1/fMhyHnzhvjc
	7z5YyqRtB8i/y59E4Tfvpknsr484l0H7usdrWuCmXGlVV5QNGlh4M1rBr8IU
	einMjBYEY3;
Authentication-Results:	sj-dkim-4; header.From=dvomlehn@cisco.com; dkim=pass (
	sig from cisco.com/sjdkim4002 verified; ); 
Return-Path: <dvomlehn@cisco.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18275
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dvomlehn@cisco.com
Precedence: bulk
X-list: linux-mips
Content-Length: 609
Lines: 14

As we continue to investigate using high memory on MIPS, we keep coming 
up with odd results. The basic mapping of high memory seems to be 
working correctly, and if we use an INITRAMFS root filesystem, things 
seem to work. Things also seem to work with an NFS root filesystem if we 
disable preemption, though we get someone squirrelly behavior in some 
minor ways. Has anyone else successfully been able to use high memory on 
a 32-bit MIPS Linux port?

Any feedback would be helpful.

-- 
David VomLehn, dvomlehn@cisco.com
The opinions expressed herein are likely mine, but might not be my employer's...


From ralf@linux-mips.org Wed Feb 20 12:59:20 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 12:59:22 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:9951 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20030035AbYBTM7U (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 20 Feb 2008 12:59:20 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1KCxJee025065;
	Wed, 20 Feb 2008 12:59:19 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1KCxJOK025064;
	Wed, 20 Feb 2008 12:59:19 GMT
Date:	Wed, 20 Feb 2008 12:59:19 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Wolfgang Ocker <weo@reccoware.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [PATCH] [MIPS] Fix ids in Alchemy db dma device table (Repost
	in hopefully correct format)
Message-ID: <20080220125919.GA24984@linux-mips.org>
References: <1202671893.3384.20.camel@galileo.recco.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1202671893.3384.20.camel@galileo.recco.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18276
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 506
Lines: 16

On Sun, Feb 10, 2008 at 08:31:33PM +0100, Wolfgang Ocker wrote:

> Subject: [PATCH] [MIPS] Fix ids in Alchemy db dma device table (Repost in
> 	hopefully correct format)
> Content-Type: text/plain
> 
> From: Wolfgang Ocker <weo@reccoware.de>

Kudos for resending in The Right Format (TM) before I had a chance to beg
for it :-)  It seems though you were generating an unclean or maybe simply
older version of the tree to generate this patch.  Git didn't like it and
patch only with fuzz.

Applied,

  Ralf

From yoichi_yuasa@tripeaks.co.jp Wed Feb 20 14:12:00 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 14:12:02 +0000 (GMT)
Received: from mo32.po.2iij.net ([210.128.50.17]:45074 "EHLO mo32.po.2iij.net")
	by ftp.linux-mips.org with ESMTP id S20030254AbYBTOMA (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Wed, 20 Feb 2008 14:12:00 +0000
Received: by mo.po.2iij.net (mo32) id m1KEBuHX029787; Wed, 20 Feb 2008 23:11:56 +0900 (JST)
Received: from delta (224.24.30.125.dy.iij4u.or.jp [125.30.24.224])
	by mbox.po.2iij.net (po-mbox304) id m1KEBsq4030889
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 20 Feb 2008 23:11:54 +0900
Date:	Wed, 20 Feb 2008 23:11:53 +0900
From:	Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Subject: [PATCH][MIPS] fix LASAT_CASCADE_IRQ
Message-Id: <20080220231153.77d7723a.yoichi_yuasa@tripeaks.co.jp>
Organization: TriPeaks Corporation
X-Mailer: Sylpheed 2.4.5 (GTK+ 2.12.0; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Return-Path: <yoichi_yuasa@tripeaks.co.jp>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18277
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: yoichi_yuasa@tripeaks.co.jp
Precedence: bulk
X-list: linux-mips
Content-Length: 610
Lines: 16

Fixed LASAT_CASCADE_IRQ

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/mach-lasat/irq.h mips/include/asm-mips/mach-lasat/irq.h
--- mips-orig/include/asm-mips/mach-lasat/irq.h	2008-01-13 16:43:14.160048268 +0900
+++ mips/include/asm-mips/mach-lasat/irq.h	2008-01-14 21:27:55.180821709 +0900
@@ -1,7 +1,7 @@
 #ifndef _ASM_MACH_LASAT_IRQ_H
 #define _ASM_MACH_LASAT_IRQ_H
 
-#define LASAT_CASCADE_IRQ	(MIPS_CPU_IRQ_BASE + 0)
+#define LASAT_CASCADE_IRQ	(MIPS_CPU_IRQ_BASE + 2)
 
 #define LASAT_IRQ_BASE		8
 #define LASAT_IRQ_END		23

From ralf@linux-mips.org Wed Feb 20 14:34:13 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 14:34:16 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:45972 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20030278AbYBTOeN (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 20 Feb 2008 14:34:13 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1KEYDg5002389
	for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 14:34:13 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1KEYC02002388
	for linux-mips@linux-mips.org; Wed, 20 Feb 2008 14:34:12 GMT
Date:	Wed, 20 Feb 2008 14:34:12 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	linux-mips@linux-mips.org
Subject: linux-mips.org web service
Message-ID: <20080220143412.GB25644@linux-mips.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18278
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 96
Lines: 4

Last night, 04:30:17Z the web server decieded to quit service.  It's now
running again.

  Ralf

From ralf@linux-mips.org Wed Feb 20 16:18:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 16:18:48 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:57571 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20030417AbYBTQSp (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 20 Feb 2008 16:18:45 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1KGIjgY003684;
	Wed, 20 Feb 2008 16:18:45 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1KGIirO003683;
	Wed, 20 Feb 2008 16:18:44 GMT
Date:	Wed, 20 Feb 2008 16:18:44 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	David VomLehn <dvomlehn@cisco.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: Does HIGHMEM work on 32-bit MIPS ports?
Message-ID: <20080220161844.GC25644@linux-mips.org>
References: <47BBA809.3050505@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47BBA809.3050505@cisco.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18279
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 1263
Lines: 24

On Tue, Feb 19, 2008 at 08:09:45PM -0800, David VomLehn wrote:

> As we continue to investigate using high memory on MIPS, we keep coming up 
> with odd results. The basic mapping of high memory seems to be working 
> correctly, and if we use an INITRAMFS root filesystem, things seem to work. 
> Things also seem to work with an NFS root filesystem if we disable 
> preemption, though we get someone squirrelly behavior in some minor ways. 
> Has anyone else successfully been able to use high memory on a 32-bit MIPS 
> Linux port?

I've written MIPS highmem support in late 2002 for a customer who back
then wasn't interested in being the first through the 64-bit minefield.
Which back then certainly was justified - but there are now fairly
stable 64-bit Linux kernels available so if you happen to be running on
64-bit hardware don't even spend a nanosecond on thinking about 32-bit
highmem kernels.  Highmem fundamentally sucks rocks through a straw.

Coming back to your question.  Highmem was only ever tested to work on
SB1 and somewhat later PMC-Sierra RM9000 cores, both being 64-bit.  With
the increasing maturity of 64-bit Linux interest in these went away and
as the result the highmem code started a slow bitrot - unnoticed for many
moons.

  Ralf

From dvomlehn@cisco.com Wed Feb 20 19:20:42 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 20 Feb 2008 19:20:45 +0000 (GMT)
Received: from sj-iport-5.cisco.com ([171.68.10.87]:13581 "EHLO
	sj-iport-5.cisco.com") by ftp.linux-mips.org with ESMTP
	id S20031897AbYBTTUm (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Wed, 20 Feb 2008 19:20:42 +0000
X-IronPort-AV: E=Sophos;i="4.25,382,1199692800"; 
   d="scan'208";a="13784531"
Received: from sj-dkim-1.cisco.com ([171.71.179.21])
  by sj-iport-5.cisco.com with ESMTP; 20 Feb 2008 11:20:35 -0800
Received: from sj-core-2.cisco.com (sj-core-2.cisco.com [171.71.177.254])
	by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m1KJKZK5017938
	for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 11:20:35 -0800
Received: from cliff.cisco.com (cliff.cisco.com [171.69.11.141])
	by sj-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id m1KJKYvn001403
	for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 19:20:34 GMT
Received: from cuplxvomd01.corp.sa.net ([64.100.151.124]) by cliff.cisco.com (8.6.12/8.6.5) with ESMTP id TAA24520 for <linux-mips@linux-mips.org>; Wed, 20 Feb 2008 19:20:33 GMT
Message-ID: <47BC7D81.8030309@cisco.com>
Date:	Wed, 20 Feb 2008 11:20:33 -0800
From:	David VomLehn <dvomlehn@cisco.com>
Reply-To: dvomlehn@cisco.com
User-Agent: Thunderbird 2.0.0.9 (X11/20071031)
MIME-Version: 1.0
To:	linux-mips@linux-mips.org
Subject: Re: Does HIGHMEM work on 32-bit MIPS ports?
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature:	v=1; a=rsa-sha256; q=dns/txt; l=1012; t=1203535235; x=1204399235;
	c=relaxed/simple; s=sjdkim1004;
	h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version;
	d=cisco.com; i=dvomlehn@cisco.com;
	z=From:=20David=20VomLehn=20<dvomlehn@cisco.com>
	|Subject:=20Re=3A=20Does=20HIGHMEM=20work=20on=2032-bit=20M
	IPS=20ports?
	|Sender:=20;
	bh=fdlKmnPPaTIDqN6RSn6d2/XzjLBNPmfG8LWQkG/iM7A=;
	b=XT8XApEHIpydW15nFQHLzltbXc6i4LsETqS+WDB7tD2vnvlWWxzMcy5+Zn
	nNZFuUBXRRjXs3yNeAK9T+kSaWd2DKr67FqnxPGduZANzAV3dGdMdhTW3bOs
	FRlEeT3tCgCGhvoryiXQta80MGIjFTH3j+eJWZCKG/jUJtPW08fFc=;
Authentication-Results:	sj-dkim-1; header.From=dvomlehn@cisco.com; dkim=pass (
	sig from cisco.com/sjdkim1004 verified; ); 
Return-Path: <dvomlehn@cisco.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18280
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dvomlehn@cisco.com
Precedence: bulk
X-list: linux-mips
Content-Length: 990
Lines: 22

 > I've written MIPS highmem support in late 2002 for a customer who
 > back then wasn't interested in being the first through the 64-bit
 > minefield. Which back then certainly was justified - but there are
 > now fairly stable 64-bit Linux kernels available so if you happen to
 > be running on 64-bit hardware don't even spend a nanosecond on
 > thinking about 32-bit highmem kernels.  Highmem fundamentally sucks
 > rocks through a straw.
 >
 > Coming back to your question.  Highmem was only ever tested to work
 > on SB1 and somewhat later PMC-Sierra RM9000 cores, both being 64-bit.
 > With the increasing maturity of 64-bit Linux interest in these went
 > away and as the result the highmem code started a slow bitrot -
 > unnoticed for many moons.

Hmm, this is not good. I've got a MIPS 24Kc processor with a very 
awkward memory layout. Any hints?

 >   Ralf
-- 
David VomLehn, dvomlehn@cisco.com
The opinions expressed herein are likely mine, but might not be my 
employer's...

From sumanshailesh@yahoo.com Thu Feb 21 06:12:34 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 06:12:36 +0000 (GMT)
Received: from web51603.mail.re2.yahoo.com ([206.190.38.208]:58014 "HELO
	web51603.mail.re2.yahoo.com") by ftp.linux-mips.org with SMTP
	id S28575364AbYBUGMe convert rfc822-to-8bit (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 21 Feb 2008 06:12:34 +0000
Received: (qmail 39049 invoked by uid 60001); 21 Feb 2008 06:11:37 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
  s=s1024; d=yahoo.com;
  h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;
  b=GNVEd7yoej043OlrlW15YNmkPome2OIAKglUhIZK3Wpu+9E5dP8yCILyKhVDUOxHuWi5HY7SP/Q3hIa1uCFz9L1Llgx2Ga3o7SzrgauOzZW2zjuPiZFDSzsSa2NjFGJdhXBnynfuY0kc8sPJSWeScXnKfQgX9sUgFP7gIpvV+ms=;
X-YMail-OSG: tRZlBLAVM1mwnqcq8jL8Hf97XlYjUFjxhMXC0lF1OUnNNaMcrRJaPIHYs2u7nv9TGur_WUzYXd2rYOz0G8MHQlDYLA5wHGRW8FQ1yZPoJczAIGA05MNmxSlI9lOYwfGBoQJeqa6VSwTDwypwgAlc2pmN
Received: from [203.126.245.198] by web51603.mail.re2.yahoo.com via HTTP; Wed, 20 Feb 2008 22:11:37 PST
X-Mailer: YahooMailRC/902.32 YahooMailWebService/0.7.162
Date:	Wed, 20 Feb 2008 22:11:37 -0800 (PST)
From:	Shailesh Suman <sumanshailesh@yahoo.com>
Subject: Tickless feature of 2.6.24 kernel on MIPS ?
To:	linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8BIT
Message-ID: <812554.37524.qm@web51603.mail.re2.yahoo.com>
Return-Path: <sumanshailesh@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18281
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: sumanshailesh@yahoo.com
Precedence: bulk
X-list: linux-mips
Content-Length: 512
Lines: 13

Hi,

   The 2.6.24.x kernel has Tickless (Power Management) feature for MIPS. Has anyone tried it for MIPS boards like Malta. 

   If anyone has tried it please let me know, if Tickless (CONFIG_NO_HZ)  is working fine. How is the power saving was measured and do you have any figures in terms of savings it can give.

   Appreciate your help on this..

  Thanking You..
-Shailesh  


      Unlimited freedom, unlimited storage. Get it now, on http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html/

From ncoesel@DEALogic.nl Thu Feb 21 08:33:45 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 08:33:47 +0000 (GMT)
Received: from smtp-vbr16.xs4all.nl ([194.109.24.36]:13324 "EHLO
	smtp-vbr16.xs4all.nl") by ftp.linux-mips.org with ESMTP
	id S28575484AbYBUIdp convert rfc822-to-8bit (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 21 Feb 2008 08:33:45 +0000
Received: from dealogic.nl (a62-251-87-113.adsl.xs4all.nl [62.251.87.113])
	by smtp-vbr16.xs4all.nl (8.13.8/8.13.8) with ESMTP id m1L8Xdgi042054
	for <linux-mips@linux-mips.org>; Thu, 21 Feb 2008 09:33:45 +0100 (CET)
	(envelope-from ncoesel@DEALogic.nl)
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 8BIT
Subject: Gettting USB host to work on AU1100
X-MimeOLE: Produced By Microsoft Exchange V6.5
Date:	Thu, 21 Feb 2008 09:33:39 +0100
Message-ID: <19CA9E279FDA5246B7D7A1C91A4AF7F40EF5A6@dealogicserver.DEALogic.nl>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Gettting USB host to work on AU1100
thread-index: Achz9cdT/N6ckVbpQyy9qyJKKRm6FwAahOgg
From:	"Nico Coesel" <ncoesel@DEALogic.nl>
To:	<linux-mips@linux-mips.org>
X-Virus-Scanned: by XS4ALL Virus Scanner
Return-Path: <ncoesel@DEALogic.nl>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18282
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ncoesel@DEALogic.nl
Precedence: bulk
X-list: linux-mips
Content-Length: 4857
Lines: 111

Hello all,
I have some troubles getting the USB host to work on an AU1100 soc. The
board is much like the PB1100 / Syrah board. Perhaps there is someone on
this list that can shine a light on it. 

I have been using kernel 2.6.21-rc4 and I recently upgraded to kernel
2.6.24. Both kernels have exactly the same problems with USB. My system
is running in big endian mode. In the kernel configuration the following
'USB host controller drivers' options are set: 
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y

Furthermore I switched on support for USB HID and USB storage.

When I attach a keyboard to the USB port I see some messages appearing
saying a low speed device is detected when I run dmesg (see below for
dmesg output) but the keyboard doesn't work. The cpu is also getting
floaded by interrupts from the OHCI controller. I've added some
debugging messages to the HCD IRQ handler and it appears the SF
interrupt (Start frame) is not satisfied. I think this is an issue which
has to do with big endian which. 

I'm quite sure I have the clock routing right (stuff like UART, LCD
controller, etc are working correctly). Swapping the signal wires on the
USB interface doesn't help either.

This is the output from dmesg (with USB debugging enabled):
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 64 td 64
In ohci_hcd_au1xxx_drv_probe<7>drivers/usb/host/ohci-au1xxx.c: starting
Au1xxx O
HCI USB Controller
drivers/usb/host/ohci-au1xxx.c: Clock to USB host has been enabled
au1xxx-ohci au1xxx-ohci.0: Au1xxx OHCI
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
au1xxx-ohci au1xxx-ohci.0: new USB bus registered, assigned bus number 1
au1xxx-ohci au1xxx-ohci.0: irq 34, io mem 0x10100000
au1xxx-ohci au1xxx-ohci.0: ohci_au1xxx_start,
ohci:83e03cc0<7>au1xxx-ohci au1xxx
-ohci.0: created debug files
au1xxx-ohci au1xxx-ohci.0: OHCI controller state
au1xxx-ohci au1xxx-ohci.0: OHCI 1.0, NO legacy support registers
au1xxx-ohci au1xxx-ohci.0: control 0x083 HCFS=operational CBSR=3
au1xxx-ohci au1xxx-ohci.0: cmdstatus 0x00000 SOC=0
au1xxx-ohci au1xxx-ohci.0: intrstatus 0x00000004 SF
au1xxx-ohci au1xxx-ohci.0: intrenable 0x8000005a MIE RHSC UE RD WDH
au1xxx-ohci au1xxx-ohci.0: hcca frame #0000
au1xxx-ohci au1xxx-ohci.0: roothub.a 02001202 POTPGT=2 NOCP NPS NDP=2(2)
au1xxx-ohci au1xxx-ohci.0: roothub.b 00000000 PPCM=0000 DR=0000
au1xxx-ohci au1xxx-ohci.0: roothub.status 00008000 DRWE
au1xxx-ohci au1xxx-ohci.0: roothub.portstatus [0] 0x00000100 PPS
au1xxx-ohci au1xxx-ohci.0: roothub.portstatus [1] 0x00000100 PPS
usb usb1: default language 0x0409
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: no over-current protection
hub 1-0:1.0: power on to power good time: 4ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: trying to enable port power on non-switchable hub
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Au1xxx OHCI
usb usb1: Manufacturer: Linux 2.6.24 ohci_hcd
usb usb1: SerialNumber: au1xxx
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial Driver core
mice: PS/2 mouse device common for all mice
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.15 (Tue Nov 20
19:16:42 200
7 UTC).
ALSA AC97: Driver Initialized
ALSA device list:
  #0: AMD Au1000--AC97 ALSA Driver
TCP cubic registered
NET: Registered protocol family 1
VFS: Mounted root (jffs2 filesystem).
Freeing unused kernel memory: 116k freed
Algorithmics/MIPS FPU Emulator v1.5
eth0: link up (100/Full)
wm97xx: version 0.64 liam.girdwood@wolfsonmicro.com
wm97xx: detected a wm9712 codec
input: wm97xx touchscreen as /devices/virtual/input/input0
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0004
au1xxx-ohci au1xxx-ohci.0: GetStatus roothub.portstatus [1] = 0x00010301
CSC LSD
A PPS CCS
hub 1-0:1.0: port 2, status 0301, change 0001, 1.5 Mb/s
hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x301
au1xxx-ohci au1xxx-ohci.0: GetStatus roothub.portstatus [1] = 0x00100303
PRSC LS
DA PPS PES CCS
usb 1-2: new low speed USB device using au1xxx-ohci and address 2

Nico Coesel

From macro@linux-mips.org Thu Feb 21 10:56:04 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 10:56:06 +0000 (GMT)
Received: from cerber.ds.pg.gda.pl ([153.19.208.18]:27525 "EHLO
	cerber.ds.pg.gda.pl") by ftp.linux-mips.org with ESMTP
	id S28575514AbYBUK4E (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 21 Feb 2008 10:56:04 +0000
Received: from localhost (unknown [127.0.0.17])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id 741EA40091;
	Thu, 21 Feb 2008 11:56:04 +0100 (CET)
X-Virus-Scanned: amavisd-new at cerber.ds.pg.gda.pl
Received: from cerber.ds.pg.gda.pl ([153.19.208.18])
	by localhost (cerber.ds.pg.gda.pl [153.19.208.18]) (amavisd-new, port 10024)
	with ESMTP id ioopGQ0lgqR8; Thu, 21 Feb 2008 11:55:58 +0100 (CET)
Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8])
	by cerber.ds.pg.gda.pl (Postfix) with ESMTP id E6F6440089;
	Thu, 21 Feb 2008 11:55:57 +0100 (CET)
Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6])
	by piorun.ds.pg.gda.pl (8.13.8/8.13.8) with ESMTP id m1LAu0Q0022611;
	Thu, 21 Feb 2008 11:56:00 +0100
Date:	Thu, 21 Feb 2008 10:55:56 +0000 (GMT)
From:	"Maciej W. Rozycki" <macro@linux-mips.org>
To:	David VomLehn <dvomlehn@cisco.com>
cc:	linux-mips@linux-mips.org
Subject: Re: Does HIGHMEM work on 32-bit MIPS ports?
In-Reply-To: <47BC7D81.8030309@cisco.com>
Message-ID: <Pine.LNX.4.64N.0802211054590.28626@blysk.ds.pg.gda.pl>
References: <47BC7D81.8030309@cisco.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: ClamAV version 0.92.1, clamav-milter version 0.92.1 on piorun.ds.pg.gda.pl
X-Virus-Status:	Clean
Return-Path: <macro@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18283
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: macro@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 259
Lines: 9

On Wed, 20 Feb 2008, David VomLehn wrote:

> Hmm, this is not good. I've got a MIPS 24Kc processor with a very awkward
> memory layout. Any hints?

 What does it mean "very awkward"?  What sort of problems do you have that 
you are trying to solve?

  Maciej

From ralf@linux-mips.org Thu Feb 21 11:38:05 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 11:38:07 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:40929 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28575546AbYBULiF (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 21 Feb 2008 11:38:05 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1LBc5fa009647;
	Thu, 21 Feb 2008 11:38:05 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1LBc4A4009646;
	Thu, 21 Feb 2008 11:38:04 GMT
Date:	Thu, 21 Feb 2008 11:38:04 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Shailesh Suman <sumanshailesh@yahoo.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: Tickless feature of 2.6.24 kernel on MIPS ?
Message-ID: <20080221113804.GA8894@linux-mips.org>
References: <812554.37524.qm@web51603.mail.re2.yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <812554.37524.qm@web51603.mail.re2.yahoo.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18284
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 540
Lines: 11

On Wed, Feb 20, 2008 at 10:11:37PM -0800, Shailesh Suman wrote:

>    The 2.6.24.x kernel has Tickless (Power Management) feature for MIPS. Has anyone tried it for MIPS boards like Malta. 
> 
>    If anyone has tried it please let me know, if Tickless (CONFIG_NO_HZ)  is working fine. How is the power saving was measured and do you have any figures in terms of savings it can give.

It works except for SMTC which does it's own rather complicated time
keeping thing and the mix of SMTC and dyntick turned out to be rather
fragile.

  Ralf

From robertsong.linux@gmail.com Thu Feb 21 16:12:03 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 16:12:05 +0000 (GMT)
Received: from py-out-1112.google.com ([64.233.166.176]:31764 "EHLO
	py-out-1112.google.com") by ftp.linux-mips.org with ESMTP
	id S28576048AbYBUQMD (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 21 Feb 2008 16:12:03 +0000
Received: by py-out-1112.google.com with SMTP id a73so76270pye.22
        for <linux-mips@linux-mips.org>; Thu, 21 Feb 2008 08:12:02 -0800 (PST)
DKIM-Signature:	v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition;
        bh=OO/uF/F6vkxJkQS054UZlkloaCcHwBT6Cp5oJcpeoLk=;
        b=L23PXU12b2eZ+oSZIzmsl8BE01WevCCeHlTDsQzv1giyXDIzY0cpfxQr4jiYwba48YRGbJWutLBLQx0eIhGfT/h9/Kcc56lWwUT1h+/HmiY2ZKAT4spu9EgUKPLSnKFhFMnfsti89FsKS+ZGJuGCa57ECfhbb5xTBOsAqksWkVY=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition;
        b=XaSTXHZV7/xwKJLmvBzRl/1hyRdCpXdbl5PFyhBUY/HXZADjdbjYeEHVXEQ92MmI2XMcs9GeQSrjPZW5lWG8nD62GRrqOyvLXMc77bIA3OMnFlsPaLWGlMkNd0AiILmHJvui4XKaXm802yvXXXFGq1WcivuzIp5S7AQG9+cJh+E=
Received: by 10.140.203.9 with SMTP id a9mr6792833rvg.288.1203610321613;
        Thu, 21 Feb 2008 08:12:01 -0800 (PST)
Received: by 10.141.44.1 with HTTP; Thu, 21 Feb 2008 08:12:01 -0800 (PST)
Message-ID: <3e004f8e0802210812k723a11f5ve9fa816d83bb082b@mail.gmail.com>
Date:	Fri, 22 Feb 2008 01:12:01 +0900
From:	"robert song" <robertsong.linux@gmail.com>
To:	linux-mips@linux-mips.org
Subject: MIPS section alignment of object file
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Return-Path: <robertsong.linux@gmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18285
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: robertsong.linux@gmail.com
Precedence: bulk
X-list: linux-mips
Content-Length: 1134
Lines: 28

Hello, everyone.
some sections like  .data are set to 16 bytes alignment  in the
binutils/gas/config/tc-mips.c as bellows.
	  (void) bfd_set_section_alignment (stdoutput, text_section, 4);

But in other architectures like arm, .data section is aligned to 4
bytes alignment,
and  now I test the object file generated by gas, and found that the
size of .data section sometimes is a little bigger than the situation
of 4 bytes alignments because of the amount of padding.

There are some comments in the tc-mips.c as bellows:
         On a native system other than VxWorks, sections must be aligned
	 to 16 byte boundaries.  When configured for an embedded ELF
	 target, we don't bother.

I want to know whether some mips architecture requires that the
sections of elf object file specifies to be aligned to 16 bytes,  or
else 16-bytes alignment will get a good performance than other
alignments just like 4 bytes????

I recompiled  the binutils by changing the alignment to 4 bytes, and
compiled some
test files, and ran on my mips target(TX4937). There is no problem.

I am really puzzled and any help will be appreciated.

robertsong

From ASinha@zeugmasystems.com Thu Feb 21 21:08:35 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 21:08:37 +0000 (GMT)
Received: from mail.zeugmasystems.com ([192.139.122.66]:22750 "EHLO
	zeugmasystems.com") by ftp.linux-mips.org with ESMTP
	id S28576381AbYBUVIf convert rfc822-to-8bit (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Thu, 21 Feb 2008 21:08:35 +0000
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 8BIT
Subject: kdb patches?!
Date:	Thu, 21 Feb 2008 13:08:26 -0800
Message-ID: <DDFD17CC94A9BD49A82147DDF7D545C5842C91@exchange.ZeugmaSystems.local>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: kdb patches?!
Thread-Index: Ach0zea8pqvjnDF1QiuYAHmJymnsXw==
From:	"Anirban Sinha" <ASinha@zeugmasystems.com>
To:	<linux-mips@linux-mips.org>
Return-Path: <ASinha@zeugmasystems.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18286
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ASinha@zeugmasystems.com
Precedence: bulk
X-list: linux-mips
Content-Length: 292
Lines: 12

Hi:

I know this has been previously discussed in the mailing list but since
the last relevant post I see was Sept 2005, I ask again:

Has anyone done any work regarding porting kdb (*not* kgdb) patches to
mips? Is there any recent (or hope of any future) work in this space? 

Thanks,

Ani


From esiotrot@gmail.com Thu Feb 21 22:40:38 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 21 Feb 2008 22:40:40 +0000 (GMT)
Received: from gv-out-0910.google.com ([216.239.58.186]:61398 "EHLO
	gv-out-0910.google.com") by ftp.linux-mips.org with ESMTP
	id S28576463AbYBUWki (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Thu, 21 Feb 2008 22:40:38 +0000
Received: by gv-out-0910.google.com with SMTP id i36so132953gve.2
        for <linux-mips@linux-mips.org>; Thu, 21 Feb 2008 14:40:37 -0800 (PST)
DKIM-Signature:	v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;
        bh=13tz0i75ddpiyXhTC1wgeSo7Em7jxOA3nNgbyNRdJPs=;
        b=PIIjFxXjJw0WgJwof5C+mwLn87TN/OASPtmf3QqF/tD25kvRqLfe40v5iYzVCblnnxbmA9C8wFkjbbDIapoPklx3DUalCQIWhKaSMfz9eKXCerysYIxWGTQRfi7gKIe9MrzwC74tesl9J5paTb6XVQYgqYyQ7eIEpxhdv4PHJII=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;
        b=r02KIKANtC/SowI3zABubdNa3Ns+pXQ9IBUdDcqjpbKDnLa+lQ9UJsdFoA2Qk22FZiGlTlQwuD8EZe5lXFsn6BpTE1wekcqhi5g66LaV9NxhH2/CiEiR30xRYZulzl/0yr0u/BbU7d1KdZ7S1fKj/mMhfWlP/+8qkcK8lPcNf2o=
Received: by 10.151.41.14 with SMTP id t14mr3380793ybj.55.1203633636307;
        Thu, 21 Feb 2008 14:40:36 -0800 (PST)
Received: by 10.150.138.4 with HTTP; Thu, 21 Feb 2008 14:40:36 -0800 (PST)
Message-ID: <5a8aa6680802211440m1d17be4bsf7a33900c723625a@mail.gmail.com>
Date:	Fri, 22 Feb 2008 00:40:36 +0200
From:	"Michael Wood" <esiotrot@gmail.com>
To:	"Matteo Croce" <rootkit85@yahoo.it>
Subject: Re: Can't execute any MIPS binary
Cc:	linux-mips@linux-mips.org
In-Reply-To: <200802130034.25052.rootkit85@yahoo.it>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
References: <200802130034.25052.rootkit85@yahoo.it>
Return-Path: <esiotrot@gmail.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18287
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: esiotrot@gmail.com
Precedence: bulk
X-list: linux-mips
Content-Length: 790
Lines: 22

Hi

On Wed, Feb 13, 2008 at 1:34 AM, Matteo Croce <rootkit85@yahoo.it> wrote:
> Hi,
>  I have a machine, an AR7 MIPS router I want to hack, but I'm unable
>  to run _any_ executable on that machine outside the ones in the firmware.
>  I tried building a static mips1 binary, but it fails so:
>
>  # /var/test.bin
>  /var/test.bin: 1: Syntax error: "(" unexpected

I had the exact same problem.

As far as I remember I had to make sure to build uclibc for MIPS-I,
because if I built a MIPS-I object file and linked it to a uclibc that
was not built for MIPS-I, it would give those errors.

I have just found my change to the OpenWrt wiki (on the WRTP54G page):
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRTP54G?action=diff&rev2=171&rev1=170

-- 
Michael Wood <esiotrot@gmail.com>

From ralf@linux-mips.org Fri Feb 22 12:29:28 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 22 Feb 2008 12:29:30 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:18877 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28577432AbYBVM32 (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 22 Feb 2008 12:29:28 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1MCTRnO018083;
	Fri, 22 Feb 2008 12:29:27 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1MCTQXB018082;
	Fri, 22 Feb 2008 12:29:26 GMT
Date:	Fri, 22 Feb 2008 12:29:26 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	robert song <robertsong.linux@gmail.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: MIPS section alignment of object file
Message-ID: <20080222122926.GB17312@linux-mips.org>
References: <3e004f8e0802210812k723a11f5ve9fa816d83bb082b@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3e004f8e0802210812k723a11f5ve9fa816d83bb082b@mail.gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18288
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 1504
Lines: 33

On Fri, Feb 22, 2008 at 01:12:01AM +0900, robert song wrote:

> But in other architectures like arm, .data section is aligned to 4
> bytes alignment,
> and  now I test the object file generated by gas, and found that the
> size of .data section sometimes is a little bigger than the situation
> of 4 bytes alignments because of the amount of padding.
> 
> There are some comments in the tc-mips.c as bellows:
>          On a native system other than VxWorks, sections must be aligned
> 	 to 16 byte boundaries.  When configured for an embedded ELF
> 	 target, we don't bother.
> 
> I want to know whether some mips architecture requires that the
> sections of elf object file specifies to be aligned to 16 bytes,  or
> else 16-bytes alignment will get a good performance than other
> alignments just like 4 bytes????
> 
> I recompiled  the binutils by changing the alignment to 4 bytes, and
> compiled some
> test files, and ran on my mips target(TX4937). There is no problem.
> 
> I am really puzzled and any help will be appreciated.

The minimum alignment technically required is the largest alignment of
any type contained in a section.  Due to the possibility of relocatable
links the assembler can't know what the largest aligment is, so it has
to make a reasonable guess which would be 8 bytes, the size of a double
floating point.  For performance reasons an alignment of the size of a
primary cache line (typically 32 byte these days but could be as much as
128 bytes) could make sense.

  Ralf

From ralf@linux-mips.org Fri Feb 22 12:32:06 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 22 Feb 2008 12:32:08 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:19145 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28577432AbYBVMcG (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 22 Feb 2008 12:32:06 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1MCW55B018128;
	Fri, 22 Feb 2008 12:32:06 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1MCW5rZ018127;
	Fri, 22 Feb 2008 12:32:05 GMT
Date:	Fri, 22 Feb 2008 12:32:05 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Anirban Sinha <ASinha@zeugmasystems.com>
Cc:	linux-mips@linux-mips.org
Subject: Re: kdb patches?!
Message-ID: <20080222123205.GC17312@linux-mips.org>
References: <DDFD17CC94A9BD49A82147DDF7D545C5842C91@exchange.ZeugmaSystems.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <DDFD17CC94A9BD49A82147DDF7D545C5842C91@exchange.ZeugmaSystems.local>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18289
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 513
Lines: 13

On Thu, Feb 21, 2008 at 01:08:26PM -0800, Anirban Sinha wrote:

> I know this has been previously discussed in the mailing list but since
> the last relevant post I see was Sept 2005, I ask again:
> 
> Has anyone done any work regarding porting kdb (*not* kgdb) patches to
> mips? Is there any recent (or hope of any future) work in this space? 

I've taken a stab at porting kdb in late 2004.  I still have the patches
sitting somewhere.  Various others seem tohave taken a stab at porting
kdn later on.

  Ralf

From drow@false.org Fri Feb 22 19:02:10 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 22 Feb 2008 19:02:12 +0000 (GMT)
Received: from NaN.false.org ([208.75.86.248]:42914 "EHLO nan.false.org")
	by ftp.linux-mips.org with ESMTP id S28578404AbYBVTCK (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Fri, 22 Feb 2008 19:02:10 +0000
Received: from nan.false.org (localhost [127.0.0.1])
	by nan.false.org (Postfix) with ESMTP id D5FD098259;
	Fri, 22 Feb 2008 19:02:08 +0000 (GMT)
Received: from caradoc.them.org (22.svnf5.xdsl.nauticom.net [209.195.183.55])
	by nan.false.org (Postfix) with ESMTP id C089C981FC;
	Fri, 22 Feb 2008 19:02:08 +0000 (GMT)
Received: from drow by caradoc.them.org with local (Exim 4.69)
	(envelope-from <drow@caradoc.them.org>)
	id 1JSd9s-0002H6-6U; Fri, 22 Feb 2008 14:02:08 -0500
Date:	Fri, 22 Feb 2008 14:02:08 -0500
From:	Daniel Jacobowitz <dan@debian.org>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	robert song <robertsong.linux@gmail.com>, linux-mips@linux-mips.org
Subject: Re: MIPS section alignment of object file
Message-ID: <20080222190208.GA8697@caradoc.them.org>
References: <3e004f8e0802210812k723a11f5ve9fa816d83bb082b@mail.gmail.com> <20080222122926.GB17312@linux-mips.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080222122926.GB17312@linux-mips.org>
User-Agent: Mutt/1.5.17 (2007-12-11)
Return-Path: <drow@false.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18290
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: dan@debian.org
Precedence: bulk
X-list: linux-mips
Content-Length: 613
Lines: 14

On Fri, Feb 22, 2008 at 12:29:26PM +0000, Ralf Baechle wrote:
> The minimum alignment technically required is the largest alignment of
> any type contained in a section.  Due to the possibility of relocatable
> links the assembler can't know what the largest aligment is, so it has
> to make a reasonable guess which would be 8 bytes, the size of a double
> floating point.

That's not really true.  The compiler is responsible for emitting
appropriate .align directives to communicate this.  I don't remember
where the hack in gas came from, but I bet it's required for IRIX.

-- 
Daniel Jacobowitz
CodeSourcery

From aurelien@aurel32.net Sun Feb 24 13:17:30 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 24 Feb 2008 13:17:33 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:9428 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S28582190AbYBXNRa (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 24 Feb 2008 13:17:30 +0000
Received: from ctse16.ulb.ac.be ([164.15.3.4] helo=volta.aurel32.net)
	by hall.aurel32.net with esmtpsa (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JTGjM-0001sb-Mw; Sun, 24 Feb 2008 14:17:24 +0100
Received: from aurel32 by volta.aurel32.net with local (Exim 4.69)
	(envelope-from <aurelien@aurel32.net>)
	id 1JTDTl-0003yx-Q7; Sun, 24 Feb 2008 10:49:05 +0100
Date:	Sun, 24 Feb 2008 10:49:05 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org
Subject: [PATCH][MIPS] BCM47xx: Use the new SSB GPIO API
Message-ID: <20080224094905.GA15287@volta.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
X-Mailer: Mutt 1.5.17+20080114 (2008-01-14)
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18291
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 7375
Lines: 238

This patch simplifies the BCM47xx GPIO code by using the new SSB GPIO
API, which does a lot things that were implemented directly in the
BCM47xx code.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/Kconfig                    |    1 +
 arch/mips/bcm47xx/gpio.c             |   81 ++++++++++++---------------------
 arch/mips/bcm47xx/setup.c            |    5 +-
 include/asm-mips/mach-bcm47xx/gpio.h |   41 ++++++++---------
 4 files changed, 54 insertions(+), 74 deletions(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index ade230d..02602e1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -52,6 +52,7 @@ config BCM47XX
 	select SSB
 	select SSB_DRIVER_MIPS
 	select SSB_DRIVER_EXTIF
+	select SSB_EMBEDDED
 	select SSB_PCICORE_HOSTMODE if PCI
 	select GENERIC_GPIO
 	select SYS_HAS_EARLY_PRINTK
diff --git a/arch/mips/bcm47xx/gpio.c b/arch/mips/bcm47xx/gpio.c
index f5a53ac..218713d 100644
--- a/arch/mips/bcm47xx/gpio.c
+++ b/arch/mips/bcm47xx/gpio.c
@@ -12,68 +12,47 @@
 #include <asm/mach-bcm47xx/bcm47xx.h>
 #include <asm/mach-bcm47xx/gpio.h>
 
-int bcm47xx_gpio_to_irq(unsigned gpio)
+static DECLARE_BITMAP(gpio_in_use, BCM47XX_CHIPCO_GPIO_LINES);
+
+int gpio_request(unsigned gpio, const char *tag)
 {
-	if (ssb_bcm47xx.chipco.dev)
-		return ssb_mips_irq(ssb_bcm47xx.chipco.dev) + 2;
-	else if (ssb_bcm47xx.extif.dev)
-		return ssb_mips_irq(ssb_bcm47xx.extif.dev) + 2;
-	else
+	if (ssb_chipco_available(&ssb_bcm47xx.chipco) &&
+	    gpio >= BCM47XX_CHIPCO_GPIO_LINES)
 		return -EINVAL;
-}
-EXPORT_SYMBOL_GPL(bcm47xx_gpio_to_irq);
 
-int bcm47xx_gpio_get_value(unsigned gpio)
-{
-	if (ssb_bcm47xx.chipco.dev)
-		return ssb_chipco_gpio_in(&ssb_bcm47xx.chipco, 1 << gpio);
-	else if (ssb_bcm47xx.extif.dev)
-		return ssb_extif_gpio_in(&ssb_bcm47xx.extif, 1 << gpio);
-	else
-		return 0;
-}
-EXPORT_SYMBOL_GPL(bcm47xx_gpio_get_value);
+	if (ssb_extif_available(&ssb_bcm47xx.extif) &&
+	    gpio >= BCM47XX_EXTIF_GPIO_LINES)
+		return -EINVAL;
 
-void bcm47xx_gpio_set_value(unsigned gpio, int value)
-{
-	if (ssb_bcm47xx.chipco.dev)
-		ssb_chipco_gpio_out(&ssb_bcm47xx.chipco,
-				    1 << gpio,
-				    value ? 1 << gpio : 0);
-	else if (ssb_bcm47xx.extif.dev)
-		ssb_extif_gpio_out(&ssb_bcm47xx.extif,
-				   1 << gpio,
-				   value ? 1 << gpio : 0);
-}
-EXPORT_SYMBOL_GPL(bcm47xx_gpio_set_value);
+	if (test_and_set_bit(gpio, gpio_in_use))
+		return -EBUSY;
 
-int bcm47xx_gpio_direction_input(unsigned gpio)
-{
-	if (ssb_bcm47xx.chipco.dev && (gpio < BCM47XX_CHIPCO_GPIO_LINES))
-		ssb_chipco_gpio_outen(&ssb_bcm47xx.chipco,
-				      1 << gpio, 0);
-	else if (ssb_bcm47xx.extif.dev && (gpio < BCM47XX_EXTIF_GPIO_LINES))
-		ssb_extif_gpio_outen(&ssb_bcm47xx.extif,
-				     1 << gpio, 0);
-	else
-		return -EINVAL;
 	return 0;
 }
-EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_input);
+EXPORT_SYMBOL(gpio_request);
 
-int bcm47xx_gpio_direction_output(unsigned gpio, int value)
+void gpio_free(unsigned gpio)
 {
-	bcm47xx_gpio_set_value(gpio, value);
+	if (ssb_chipco_available(&ssb_bcm47xx.chipco) &&
+	    gpio >= BCM47XX_CHIPCO_GPIO_LINES)
+		return;
+
+	if (ssb_extif_available(&ssb_bcm47xx.extif) &&
+	    gpio >= BCM47XX_EXTIF_GPIO_LINES)
+		return;
+
+	clear_bit(gpio, gpio_in_use);
+}
+EXPORT_SYMBOL(gpio_free);
 
-	if (ssb_bcm47xx.chipco.dev && (gpio < BCM47XX_CHIPCO_GPIO_LINES))
-		ssb_chipco_gpio_outen(&ssb_bcm47xx.chipco,
-				      1 << gpio, 1 << gpio);
-	else if (ssb_bcm47xx.extif.dev && (gpio < BCM47XX_EXTIF_GPIO_LINES))
-		ssb_extif_gpio_outen(&ssb_bcm47xx.extif,
-				     1 << gpio, 1 << gpio);
+int gpio_to_irq(unsigned gpio)
+{
+	if (ssb_chipco_available(&ssb_bcm47xx.chipco))
+		return ssb_mips_irq(ssb_bcm47xx.chipco.dev) + 2;
+	else if (ssb_extif_available(&ssb_bcm47xx.extif))
+		return ssb_mips_irq(ssb_bcm47xx.extif.dev) + 2;
 	else
 		return -EINVAL;
-	return 0;
 }
-EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_output);
+EXPORT_SYMBOL_GPL(gpio_to_irq);
 
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index 8d36f18..2f580fa 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -27,6 +27,7 @@
 
 #include <linux/types.h>
 #include <linux/ssb/ssb.h>
+#include <linux/ssb/ssb_embedded.h>
 #include <asm/bootinfo.h>
 #include <asm/reboot.h>
 #include <asm/time.h>
@@ -41,7 +42,7 @@ static void bcm47xx_machine_restart(char *command)
 	printk(KERN_ALERT "Please stand by while rebooting the system...\n");
 	local_irq_disable();
 	/* Set the watchdog timer to reset immediately */
-	ssb_chipco_watchdog_timer_set(&ssb_bcm47xx.chipco, 1);
+	ssb_watchdog_timer_set(&ssb_bcm47xx, 1);
 	while (1)
 		cpu_relax();
 }
@@ -50,7 +51,7 @@ static void bcm47xx_machine_halt(void)
 {
 	/* Disable interrupts and watchdog and spin forever */
 	local_irq_disable();
-	ssb_chipco_watchdog_timer_set(&ssb_bcm47xx.chipco, 0);
+	ssb_watchdog_timer_set(&ssb_bcm47xx, 0);
 	while (1)
 		cpu_relax();
 }
diff --git a/include/asm-mips/mach-bcm47xx/gpio.h b/include/asm-mips/mach-bcm47xx/gpio.h
index cfc8f4d..9b5218b 100644
--- a/include/asm-mips/mach-bcm47xx/gpio.h
+++ b/include/asm-mips/mach-bcm47xx/gpio.h
@@ -9,47 +9,46 @@
 #ifndef __BCM47XX_GPIO_H
 #define __BCM47XX_GPIO_H
 
+#include <linux/ssb/ssb_embedded.h>
+#include <asm/mach-bcm47xx/bcm47xx.h>
+
 #define BCM47XX_EXTIF_GPIO_LINES	5
 #define BCM47XX_CHIPCO_GPIO_LINES	16
 
-extern int bcm47xx_gpio_to_irq(unsigned gpio);
-extern int bcm47xx_gpio_get_value(unsigned gpio);
-extern void bcm47xx_gpio_set_value(unsigned gpio, int value);
-extern int bcm47xx_gpio_direction_input(unsigned gpio);
-extern int bcm47xx_gpio_direction_output(unsigned gpio, int value);
-
-static inline int gpio_request(unsigned gpio, const char *label)
-{
-       return 0;
-}
+int gpio_request(unsigned gpio, const char *label);
+void gpio_free(unsigned gpio);
+int gpio_to_irq(unsigned gpio);
 
-static inline void gpio_free(unsigned gpio)
+static inline int gpio_get_value(unsigned gpio)
 {
+	return ssb_gpio_in(&ssb_bcm47xx, 1 << gpio);
 }
 
-static inline int gpio_to_irq(unsigned gpio)
+static inline void gpio_set_value(unsigned gpio, int value)
 {
-	return bcm47xx_gpio_to_irq(gpio);
+	ssb_gpio_out(&ssb_bcm47xx, 1 << gpio, value ? 1 << gpio : 0);
 }
 
-static inline int gpio_get_value(unsigned gpio)
+static inline int gpio_direction_input(unsigned gpio)
 {
-	return bcm47xx_gpio_get_value(gpio);
+	return ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 0);
 }
 
-static inline void gpio_set_value(unsigned gpio, int value)
+static inline int gpio_direction_output(unsigned gpio, int value)
 {
-	bcm47xx_gpio_set_value(gpio, value);
+	return ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 1);
 }
 
-static inline int gpio_direction_input(unsigned gpio)
+static int gpio_intmask(unsigned gpio, int value)
 {
-	return bcm47xx_gpio_direction_input(gpio);
+	return ssb_gpio_intmask(&ssb_bcm47xx, 1 << gpio,
+				value ? 1 << gpio : 0);
 }
 
-static inline int gpio_direction_output(unsigned gpio, int value)
+static int gpio_polarity(unsigned gpio, int value)
 {
-	return bcm47xx_gpio_direction_output(gpio, value);
+	return ssb_gpio_polarity(&ssb_bcm47xx, 1 << gpio,
+				 value ? 1 << gpio : 0);
 }
 
 
-- 
1.5.4.2


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From aurelien@aurel32.net Sun Feb 24 13:17:54 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Sun, 24 Feb 2008 13:17:58 +0000 (GMT)
Received: from hall.aurel32.net ([88.191.38.19]:24968 "EHLO hall.aurel32.net")
	by ftp.linux-mips.org with ESMTP id S28582197AbYBXNRp (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Sun, 24 Feb 2008 13:17:45 +0000
Received: from ctse16.ulb.ac.be ([164.15.3.4] helo=volta.aurel32.net)
	by hall.aurel32.net with esmtpsa (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <aurelien@aurel32.net>)
	id 1JTGjb-0001sg-MJ; Sun, 24 Feb 2008 14:17:40 +0100
Received: from aurel32 by volta.aurel32.net with local (Exim 4.69)
	(envelope-from <aurelien@aurel32.net>)
	id 1JTCa1-0001Ht-65; Sun, 24 Feb 2008 09:51:29 +0100
Date:	Sun, 24 Feb 2008 09:51:29 +0100
From:	Aurelien Jarno <aurelien@aurel32.net>
To:	Ralf Baechle <ralf@linux-mips.org>
Cc:	linux-mips@linux-mips.org
Subject: [PATCH] [MIPS] WGT634U: Add machine detection message
Message-ID: <20080224085129.GA4842@volta.aurel32.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
X-Mailer: Mutt 1.5.17+20080114 (2008-01-14)
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <aurelien@aurel32.net>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18292
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: aurelien@aurel32.net
Precedence: bulk
X-list: linux-mips
Content-Length: 1058
Lines: 29

This adds a printk message when a WGT634U machine is detected.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/mips/bcm47xx/wgt634u.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/mips/bcm47xx/wgt634u.c b/arch/mips/bcm47xx/wgt634u.c
index d1d90c9..f9e309a 100644
--- a/arch/mips/bcm47xx/wgt634u.c
+++ b/arch/mips/bcm47xx/wgt634u.c
@@ -112,6 +112,9 @@ static int __init wgt634u_init(void)
 	    ((et0mac[1] == 0x09 && et0mac[2] == 0x5b) ||
 	     (et0mac[1] == 0x0f && et0mac[2] == 0xb5))) {
 		struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore;
+
+		printk(KERN_INFO "WGT634U machine detected.\n");
+
 		wgt634u_flash_data.width = mcore->flash_buswidth;
 		wgt634u_flash_resource.start = mcore->flash_window;
 		wgt634u_flash_resource.end = mcore->flash_window
-- 
1.5.4.2

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

From florian.fainelli@telecomint.eu Mon Feb 25 10:06:54 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 10:06:56 +0000 (GMT)
Received: from mx1.minet.net ([157.159.40.25]:60397 "EHLO mx1.minet.net")
	by ftp.linux-mips.org with ESMTP id S20036039AbYBYKGy (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Mon, 25 Feb 2008 10:06:54 +0000
Received: from localhost (spam.minet.net [192.168.1.97])
	by mx1.minet.net (Postfix) with ESMTP id C4C6D5CD36;
	Mon, 25 Feb 2008 11:06:46 +0100 (CET)
X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
Received: from smtp.minet.net (imap.minet.net [192.168.1.27])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.minet.net (Postfix) with ESMTP id 14C8C5CD29;
	Mon, 25 Feb 2008 11:06:41 +0100 (CET)
Received: from ibook (unknown [77.192.17.45])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: florian)
	by smtp.minet.net (Postfix) with ESMTP id 1DF9C12FF0;
	Mon, 25 Feb 2008 11:07:05 +0100 (CET)
From:	Florian Fainelli <florian.fainelli@telecomint.eu>
Date:	Mon, 25 Feb 2008 11:06:23 +0100
Subject: [PATCH] Remove references to BCM947XX
MIME-Version: 1.0
X-UID:	301
X-Length: 1640
To:	linux-mips@linux-mips.org
Cc:	Aurelien Jarno <aurelien@aurel32.net>
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200802251106.24886.florian.fainelli@telecomint.eu>
Return-Path: <florian.fainelli@telecomint.eu>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18293
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: florian.fainelli@telecomint.eu
Precedence: bulk
X-list: linux-mips
Content-Length: 865
Lines: 26

This patch removes the remaining reference
to the BCM947xx development board codename.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
---
diff --git a/include/asm-mips/mach-bcm47xx/war.h b/include/asm-mips/mach-bcm47xx/war.h
index 4a2b798..87cd465 100644
--- a/include/asm-mips/mach-bcm47xx/war.h
+++ b/include/asm-mips/mach-bcm47xx/war.h
@@ -5,8 +5,8 @@
  *
  * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
  */
-#ifndef __ASM_MIPS_MACH_BCM947XX_WAR_H
-#define __ASM_MIPS_MACH_BCM947XX_WAR_H
+#ifndef __ASM_MIPS_MACH_BCM47XX_WAR_H
+#define __ASM_MIPS_MACH_BCM47XX_WAR_H
 
 #define R4600_V1_INDEX_ICACHEOP_WAR	0
 #define R4600_V1_HIT_CACHEOP_WAR	0
@@ -22,4 +22,4 @@
 #define R10000_LLSC_WAR			0
 #define MIPS34K_MISSED_ITLB_WAR		0
 
-#endif /* __ASM_MIPS_MACH_BCM947XX_WAR_H */
+#endif /* __ASM_MIPS_MACH_BCM47XX_WAR_H */

From ths@networkno.de Mon Feb 25 14:21:16 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 14:21:19 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:27838 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S28583690AbYBYOVQ (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 14:21:16 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id 50EA048917;
	Mon, 25 Feb 2008 15:21:11 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JTeCg-0000y7-Nx; Mon, 25 Feb 2008 14:21:14 +0000
Date:	Mon, 25 Feb 2008 14:21:14 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	linux-mips@linux-mips.org
Cc:	ralf@linux-mips.org
Subject: [MIPS, 2.6.16, PATCH] Re-enable sync instruction for non-R2 CPUs
Message-ID: <20080225142112.GA25530@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18294
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips
Content-Length: 658
Lines: 24

This patch re-enables the use of sync instructions for non-R2 CPUs.
It is only relevant for the linux-2.6.16-stable branch.


Signed-off-by: Thiemo Seufer <ths@networkno.de>

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 3995d45..b3739ed 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1585,12 +1585,12 @@ config CPU_MIPSR2_IRQ_EI
 	   controller to allow fast dispatching from many possible interrupt
 	   sources. Say N unless you know that external interrupt support is
 	   required.
+endmenu
 
 config CPU_HAS_SYNC
 	bool
 	depends on !CPU_R3000
 	default y
-endmenu
 
 #
 # Use the generic interrupt handling code in kernel/irq/:

From ralf@linux-mips.org Mon Feb 25 14:43:21 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 14:43:23 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:11736 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28583759AbYBYOnV (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 14:43:21 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1PEhLg1005745;
	Mon, 25 Feb 2008 14:43:21 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1PEhKs4005744;
	Mon, 25 Feb 2008 14:43:20 GMT
Date:	Mon, 25 Feb 2008 14:43:20 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thiemo Seufer <ths@networkno.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [MIPS, 2.6.16, PATCH] Re-enable sync instruction for non-R2
	CPUs
Message-ID: <20080225144320.GA29391@linux-mips.org>
References: <20080225142112.GA25530@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080225142112.GA25530@networkno.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18295
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 218
Lines: 8

On Mon, Feb 25, 2008 at 02:21:14PM +0000, Thiemo Seufer wrote:

> This patch re-enables the use of sync instructions for non-R2 CPUs.
> It is only relevant for the linux-2.6.16-stable branch.

Thanks, applied.

  Ralf

From ths@networkno.de Mon Feb 25 19:17:47 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 19:17:50 +0000 (GMT)
Received: from relay01.mx.bawue.net ([193.7.176.67]:38067 "EHLO
	relay01.mx.bawue.net") by ftp.linux-mips.org with ESMTP
	id S20037192AbYBYTRr (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 19:17:47 +0000
Received: from lagash (intrt.mips-uk.com [194.74.144.130])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by relay01.mx.bawue.net (Postfix) with ESMTP id 6B4B348919;
	Mon, 25 Feb 2008 20:17:42 +0100 (CET)
Received: from ths by lagash with local (Exim 4.69)
	(envelope-from <ths@networkno.de>)
	id 1JTiph-0001S7-Q2; Mon, 25 Feb 2008 19:17:49 +0000
Date:	Mon, 25 Feb 2008 19:17:49 +0000
From:	Thiemo Seufer <ths@networkno.de>
To:	linux-mips@linux-mips.org
Cc:	ralf@linux-mips.org
Subject: [MIPS, 2.6.16, PATCH] Fix SWARM onboard IDE probing
Message-ID: <20080225191749.GG25530@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <ths@networkno.de>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18296
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ths@networkno.de
Precedence: bulk
X-list: linux-mips
Content-Length: 639
Lines: 19

linux-2.6.16-stable misses the IDE probing fix which is already applied
to later stable branches (from linux-2.6.17-stable onwards). It is
needed to access the SWARM onboard IDE device.


Signed-off-by: Thiemo Seufer <ths@networkno.de>

diff --git a/drivers/ide/mips/swarm.c b/drivers/ide/mips/swarm.c
index 66f6064..f75d34e 100644
--- a/drivers/ide/mips/swarm.c
+++ b/drivers/ide/mips/swarm.c
@@ -127,6 +127,7 @@ static int __devinit swarm_ide_probe(struct device *dev)
 	memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->io_ports));
 	hwif->irq = hwif->hw.irq;
 
+	probe_hwif_init(hwif);
 	dev_set_drvdata(dev, hwif);
 
 	return 0;

From ralf@linux-mips.org Mon Feb 25 19:26:51 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 19:26:53 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:15044 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28584309AbYBYT0v (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 19:26:51 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1PJQnNs014441;
	Mon, 25 Feb 2008 19:26:49 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1PJQmiL014440;
	Mon, 25 Feb 2008 19:26:48 GMT
Date:	Mon, 25 Feb 2008 19:26:48 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Cc:	Chris Dearman <chris@mips.com>, linux-mips@linux-mips.org
Subject: [PATCH] Try both endianess when checking for endianess.
Message-ID: <20080225192648.GA14357@linux-mips.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18297
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 1122
Lines: 31

From: Chris Dearman <chris@mips.com>

When checking for the swap header try byteswapping the endianess dependent
fields to allow the swap partition to be shared between big & little endian
systems.

Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 mm/swapfile.c |    8 ++++++++
 1 file changed, 8 insertions(+)

Index: linux-queue/mm/swapfile.c
===================================================================
--- linux-queue.orig/mm/swapfile.c
+++ linux-queue/mm/swapfile.c
@@ -1551,6 +1551,14 @@ asmlinkage long sys_swapon(const char __
 		error = -EINVAL;
 		goto bad_swap;
 	case 2:
+		/* swap partition endianess hack... */
+		if (swab32(swap_header->info.version) == 1) {
+			swab32s(&swap_header->info.version);
+			swab32s(&swap_header->info.last_page);
+			swab32s(&swap_header->info.nr_badpages);
+			for (i = 0; i < swap_header->info.nr_badpages; i++)
+				swab32s(&swap_header->info.badpages[i]);
+		}
 		/* Check the swap header's sub-version and the size of
                    the swap file and bad block lists */
 		if (swap_header->info.version != 1) {

From ralf@linux-mips.org Mon Feb 25 20:25:37 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 20:25:39 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:49325 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S20037229AbYBYUZh (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 20:25:37 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1PKPakk015209;
	Mon, 25 Feb 2008 20:25:36 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1PKPZRG015208;
	Mon, 25 Feb 2008 20:25:35 GMT
Date:	Mon, 25 Feb 2008 20:25:35 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	Thiemo Seufer <ths@networkno.de>
Cc:	linux-mips@linux-mips.org
Subject: Re: [MIPS, 2.6.16, PATCH] Fix SWARM onboard IDE probing
Message-ID: <20080225202533.GA14789@linux-mips.org>
References: <20080225191749.GG25530@networkno.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080225191749.GG25530@networkno.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18298
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 282
Lines: 9

On Mon, Feb 25, 2008 at 07:17:49PM +0000, Thiemo Seufer wrote:

> linux-2.6.16-stable misses the IDE probing fix which is already applied
> to later stable branches (from linux-2.6.17-stable onwards). It is
> needed to access the SWARM onboard IDE device.

Thanks, applied.

  Ralf

From supinlick@yahoo.com Mon Feb 25 22:57:11 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 25 Feb 2008 22:57:13 +0000 (GMT)
Received: from web51905.mail.re2.yahoo.com ([206.190.48.68]:18598 "HELO
	web51905.mail.re2.yahoo.com") by ftp.linux-mips.org with SMTP
	id S28584678AbYBYW5L (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Mon, 25 Feb 2008 22:57:11 +0000
Received: (qmail 86567 invoked by uid 60001); 25 Feb 2008 22:57:00 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
  s=s1024; d=yahoo.com;
  h=X-YMail-OSG:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;
  b=eYBNhMxnz0rSHY5jIZdLLsnBJxGdDNZzle5JZRfMt20d6vqKtSzgtJApJNT1dq2P3fUG7enFLkUvkWjdtGVn8MKt7umDbS6jOIfUj7rhrY03rdsdJhEL0qxacHsXjOWRtXZHBfGNRL0Wc/roc21n3yyxdtywGi1WSeIdOaCr59E=;
X-YMail-OSG: SC2WjuUVM1njYDt.eIV0PdNhEjefjKDxWrSGpMKEyNr0jRFD3vFYZSo6Tz7REfgwln5vukitctNycLUvOE.MsrroAk9muiwfiXEbrs4k2CyJ9Su_4J8-
Received: from [155.104.37.17] by web51905.mail.re2.yahoo.com via HTTP; Mon, 25 Feb 2008 14:57:00 PST
Date:	Mon, 25 Feb 2008 14:57:00 -0800 (PST)
From:	Sean Parker <supinlick@yahoo.com>
Subject: PMC Sequoia and CF
To:	linux-mips@linux-mips.org
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-ID: <56362.85767.qm@web51905.mail.re2.yahoo.com>
Return-Path: <supinlick@yahoo.com>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18299
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: supinlick@yahoo.com
Precedence: bulk
X-list: linux-mips
Content-Length: 558
Lines: 28

Hello - 

  Has anyone out there modified PMON2000 on the Sequoia
board to boot linux from CF? We're having trouble being
able to write the CommonMemory registers, but we can read
them. 

  or

  Anyone know of any gotcha's WRT LBC initialization that
might prevent writing the CF/PCMCIA while still being able
to read Common Memory regs?

   Sean Parker




God Bless 
    Sean Parker 





      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs

From ralf@linux-mips.org Tue Feb 26 10:10:37 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 26 Feb 2008 10:10:39 +0000 (GMT)
Received: from localhost.localdomain ([127.0.0.1]:15572 "EHLO
	dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP
	id S28585379AbYBZKKh (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Tue, 26 Feb 2008 10:10:37 +0000
Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1])
	by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m1QAAaPc026915
	for <linux-mips@linux-mips.org>; Tue, 26 Feb 2008 10:10:36 GMT
Received: (from ralf@localhost)
	by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m1QAAaeT026914
	for linux-mips@linux-mips.org; Tue, 26 Feb 2008 10:10:36 GMT
Date:	Tue, 26 Feb 2008 10:10:36 +0000
From:	Ralf Baechle <ralf@linux-mips.org>
To:	linux-mips@linux-mips.org
Subject: Linux linux-2.6.24.2 tag and tarball
Message-ID: <20080226101035.GA26881@linux-mips.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.17 (2007-11-01)
Return-Path: <ralf@linux-mips.org>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18300
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: ralf@linux-mips.org
Precedence: bulk
X-list: linux-mips
Content-Length: 147
Lines: 4

By accident they were the same as 2.6.24.1.  I've just done the actual
merge with 2.6.24.2 (and 2.6.24.3 ...) and updated tarball and tag.

  Ralf

From adrian.bunk@movial.fi Tue Feb 26 19:55:59 2008
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 26 Feb 2008 19:56:03 +0000 (GMT)
Received: from smtp4.pp.htv.fi ([213.243.153.38]:7045 "EHLO smtp4.pp.htv.fi")
	by ftp.linux-mips.org with ESMTP id S28586491AbYBZTz7 (ORCPT
	<rfc822;linux-mips@linux-mips.org>); Tue, 26 Feb 2008 19:55:59 +0000
Received: from cs181133002.pp.htv.fi (cs181133002.pp.htv.fi [82.181.133.2])
	by smtp4.pp.htv.fi (Postfix) with ESMTP id 892295BC03B;
	Tue, 26 Feb 2008 21:55:58 +0200 (EET)
Date:	Tue, 26 Feb 2008 21:54:54 +0200
From:	Adrian Bunk <adrian.bunk@movial.fi>
To:	ralf@linux-mips.org
Cc:	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Subject: [2.6 patch] mips: use KBUILD_DEFCONFIG
Message-ID: <20080226195454.GC4898@cs181133002.pp.htv.fi>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Return-Path: <adrian.bunk@movial.fi>
X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0)
X-Orcpt: rfc822;linux-mips@linux-mips.org
Original-Recipient: rfc822;linux-mips@linux-mips.org
X-archive-position: 18301
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: adrian.bunk@movial.fi
Precedence: bulk
X-list: linux-mips
Content-Length: 27449
Lines: 1189

With KBUILD_DEFCONFIG we don't have to ship a second copy of 
ip22_defconfig

Signed-off-by: Adrian Bunk <adrian.bunk@movial.fi>

---

 arch/mips/Makefile  |    2 
 arch/mips/defconfig | 1158 --------------------------------------------
 2 files changed, 2 insertions(+), 1158 deletions(-)

57da2fa4b7e8c035c8317e8796ca6d2ea17c1d1f diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 001c017..93ef27b 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -12,6 +12,8 @@
 # for "archclean" cleaning up for this architecture.
 #
 
+KBUILD_DEFCONFIG := ip22_defconfig
+
 cflags-y :=
 
 #
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
deleted file mode 100644
index 4f5e56c..0000000
--- a/arch/mips/defconfig
+++ /dev/null
@@ -1,1158 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc2
-# Tue Aug  7 12:39:49 2007
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-CONFIG_ZONE_DMA=y
-# CONFIG_MACH_ALCHEMY is not set
-# CONFIG_BASLER_EXCITE is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_LEMOTE_FULONG is not set
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_MARKEINS is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-CONFIG_SGI_IP22=y
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_TOSHIBA_RBTX4938 is not set
-# CONFIG_WR_PPMC is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
-CONFIG_ARC=y
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_DMA_NEED_PCI_MAP_STATE=y
-CONFIG_EARLY_PRINTK=y
-CONFIG_SYS_HAS_EARLY_PRINTK=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
-CONFIG_CPU_BIG_ENDIAN=y
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_IRQ_CPU=y
-CONFIG_SWAP_IO_SPACE=y
-CONFIG_ARC32=y
-CONFIG_BOOT_ELF32=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-CONFIG_ARC_CONSOLE=y
-CONFIG_ARC_PROMLIB=y
-
-#
-# CPU selection
-#
-# CONFIG_CPU_LOONGSON2 is not set
-# CONFIG_CPU_MIPS32_R1 is not set
-# CONFIG_CPU_MIPS32_R2 is not set
-# CONFIG_CPU_MIPS64_R1 is not set
-# CONFIG_CPU_MIPS64_R2 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-CONFIG_CPU_R5000=y
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R10000 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_SYS_HAS_CPU_R4X00=y
-CONFIG_SYS_HAS_CPU_R5000=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-# CONFIG_64BIT is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_8KB is not set
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_BOARD_SCACHE=y
-CONFIG_IP22_CPU_SCACHE=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_MIPS_MT_SMP is not set
-# CONFIG_MIPS_MT_SMTC is not set
-CONFIG_CPU_HAS_LLSC=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_HZ_48 is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-CONFIG_HZ_1000=y
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=1000
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-# CONFIG_KEXEC is not set
-CONFIG_SECCOMP=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFI