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 23:31:04 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <20071112104423.GA27588@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20071111143302.GA26458@alpha.franken.de> <20071111213127.GA26297@linux-mips.org> <20071112083242.GA6065@alpha.franken.de> <20071112104423.GA27588@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.13 (2006-08-11)
On Mon, Nov 12, 2007 at 10:44:23AM +0000, Ralf Baechle wrote:
> But even if you get that wrong the expected failure mode is different ...

Ralf and me had an debug session on IRC and I finally figured out
what caused the problem: CONFIG_EARLY_PRINTK via prom calls.

I simply used call_o32.S from the decstation part and missed the
fact, that it simply uses the normal kernel stack when calling
firmware. This works quite good until the first kernel thread
gets scheduled, which has a kernel stack via a CAC_BASE address.
So after switching stack the next call to prom_putchar() killed the
machine. Simply disabling EARLY_PRINTK gives me a working 64bit
kernel, which sees the whole 512MB RAM :-)

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>