linux-mips
[Top] [All Lists]

Re: problem with 64bit kernel, BOOT_ELF32 and memory outside CKSEG0

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: problem with 64bit kernel, BOOT_ELF32 and memory outside CKSEG0
From: tsbogend@alpha.franken.de (Thomas Bogendoerfer)
Date: Mon, 12 Nov 2007 09:32:42 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <20071111213127.GA26297@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20071111143302.GA26458@alpha.franken.de> <20071111213127.GA26297@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.13 (2006-08-11)
On Sun, Nov 11, 2007 at 09:31:28PM +0000, Ralf Baechle wrote:
> On Sun, Nov 11, 2007 at 03:33:02PM +0100, Thomas Bogendoerfer wrote:
> 
> > I tried to get a working 64bit kernel for SNI RM. Most of things
> > to fix were quite obvious, but there is one thing, which I haven't
> > understood yet.
> > 
> > The firmware is only able to boot ELF32 images, which mean I need to
> > use BOOT_ELF32.
> > 
> > RM machines have 256MB memory mapped to KSEG0, anything else is outside.
> > To me that would mean I need to use the default spaces from
> > mach-generic/spaces.h. A kernel built that way will hang after calling
> > schedule() in rest_init() (init/main.c). Has anybody seen this
> > as well ?
> 
> No.
> 
> schedule() doesn't directly depend on very much else working so I get the
> feeling that your problem may be quite far away.

well it depends on getting a kernel thread started. And I guess there
lies the problem.

Maybe I need to ask more precisely what I want to know: Should a
kernel linked to CSKEG0 with a CAC_BASE 0x980000000000 work or is 
this setup "wrong" ? If the answer is yes, I'd say there is still
a bug left. If no how do we solve the issue of having a 32bit firmware
and a kernel linked for XPHYS (using some sort of bootloader is not
want I want to have, if it's avoidable) ?

Thomas.

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

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