linux-mips
[Top] [All Lists]

Re: IP32 prom crashes due to __pa() funkiness

To: Kumba <kumba@gentoo.org>
Subject: Re: IP32 prom crashes due to __pa() funkiness
From: "Franck Bui-Huu" <vagabon.xyz@gmail.com>
Date: Mon, 19 Mar 2007 22:35:29 +0100
Cc: "Linux MIPS List" <linux-mips@linux-mips.org>, "Arnaud Giersch" <arnaud.giersch@free.fr>
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=i1AK34s97bV29jJNjzdqMN07GYNw300oMyRcJm5HSY7NGYGjb+UU0TvpK2+sBZyOEtJzkqoHE4q4p4mMJLS/jWKTqPMPq7Kb7O+4yRnHScsQU/AGpoLZAa8yFQl11Uj5qf9VmxxTaQaJzQkrx8f7EaBSfuV2kbdG5vPiVTTYL1g=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=gOxfm12vUQqIjJp6p84eOyceG1CdSJ7pjk0XIh48X8Mhu39T5Qa8o4vEYQJxFyCBgGS69hLlc3KrDo13bJY7dtqDDAj+9nE0bwud6nqXPkSba2jZnEF5rsG7xlC0Dw6Rt731eryaOCSJ8eZ9ryQTxrFMN1Kd37dMNKjwMXk42d8=
In-reply-to: <45FE9D22.1030407@gentoo.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <45D8B070.7070405@gentoo.org> <cda58cb80703010139y3e5bbb8eqa4d25b75ba658a22@mail.gmail.com> <45FC46F0.3070300@gentoo.org> <87irczzglc.fsf@groumpf.homeip.net> <45FC9E39.7010506@gentoo.org> <45FE95EE.5030108@innova-card.com> <45FE9D22.1030407@gentoo.org>
Sender: linux-mips-bounce@linux-mips.org
On 3/19/07, Kumba <kumba@gentoo.org> wrote:

Most of this is because IP22 (Indy/Idigo2 R4xx) and IP32 (O2 R5xxx), while
supporting 64bit kernels (same for cobalt, since it's a mips4-level CPU), we had
to "trick" them into accepting 64bit code.  IP32 at one point ran 32bit kernels
only, but it was later converted to supporting only 64bit kernels, hence the
hackery involved.  We describe it as wrapping 64bit code into a 32bit object,
because their proms will only recognize 32bit objects (specifically, IP22 will
only boot 32bit objects; crash on 64bit; IP32 will take both, but likes 32bit
better).

So really, CONFIG_BUILD_ELF64 was probably part of this "magic" to stuff 64bit
code into a candy-coated 32bit wrapper for the Indy (And later the O2) to suck
down w/o complaint.  Hence, __pa() probably needs to replicate this support, or
we all need to brainstorm a proper way to get these systems to boot.


I'm really not confident with all your tricks you described. Maybe a
config that I believed to be uninsteresting and useless should be
supported still.

Can you try the attached patch with a plain linux-mips kernel ? This
patch restore CPHYSADDR() for 64 bits kernels _only_. I guess it's ok
because we won't need to support mapped kernels on 64 bits machines...

Could others give their opinions ?

> I'm sorry but my IPxx background is 0 ;)

Time to buy an O2 :)


As soon as it will work with a plain linux-mips without hackery ;)
--
              Franck

Attachment: pa-64bits-kernel.patch
Description: Text Data

<Prev in Thread] Current Thread [Next in Thread>