From: Thomas Gleixner <tglx@linutronix.de>
To: Dan Malek <dan@embeddededge.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev <linuxppc-dev@lists.linuxppc.org>
Subject: Re: check MMU state
Date: Sun, 06 Apr 2003 04:13:33 +0200 [thread overview]
Message-ID: <200304060413.33628.tglx@linutronix.de> (raw)
In-Reply-To: <3E8F2101.3090103@embeddededge.com>
On Saturday 05 April 2003 20:31, Dan Malek wrote:
> Benjamin Herrenschmidt wrote:
> > Ah well, I was talking about the "common" CPU case (CONFIG_6xx), I don't
> > know about 8xx but since the first thing the code in head_8xx.S does is
> > "tlbia", I think you are in a bad situation running that with
> > translation enabled and no vectors around to handle the TLB miss...
>
> Well, it's worse then that.....if you have the MMU enabled and require
> taking tlb misses, I'm surprised you get to initial_mmu because we already
> wrote over the exception vectors.
>
> > For machines without BATs, I tend to think that a bootloader loading
> > you with MMU on shall be shot.
>
> We could do like some of the 60x/7xxx processors do. They boot with
> the MMU enabled, using BATs mapped 1:1 to get certain cache attributes in
> memory spaces (DINK does this). If you are using large pages on 8xx mapped
> 1:1 for the same cache attributes, it's OK. If _any_ powerpc boots with
> the MMU enabled and not 1:1 mapping (on memory of interest), you are hosed.
>
> > .... What I'd suggest is that you hack a piggy
> > back loader in the zImage wrapper that shuts MMU off before entering the
> > kernel.
>
> Yep, and it should be done right away before any of the decompress is
> done so the cache management works correctly.
>
> > .... If you _have_ to run vmlinux as is,
>
> You can't on 8xx and most embedded systems. You need some kind of
> piggyback loader to create the environment variables so Linux will boot
> properly.
I'm working on a PMC board, where I can't modify the bootloader for now. So I
had to go through this. The kernel is loaded via PCI as a plain vmlinux, for
initrd applies the same.
I had to fight some time, but finaly i got it to work. :)
--
Thomas
________________________________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx@linutronix.de
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2003-04-06 2:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-05 15:35 check MMU state Thomas Gleixner
2003-04-05 14:49 ` Benjamin Herrenschmidt
2003-04-05 16:15 ` Thomas Gleixner
2003-04-05 15:24 ` Benjamin Herrenschmidt
2003-04-05 16:23 ` Thomas Gleixner
2003-04-05 16:03 ` Benjamin Herrenschmidt
2003-04-05 18:31 ` Dan Malek
2003-04-06 2:13 ` Thomas Gleixner [this message]
2003-04-07 13:53 ` Dan Malek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200304060413.33628.tglx@linutronix.de \
--to=tglx@linutronix.de \
--cc=benh@kernel.crashing.org \
--cc=dan@embeddededge.com \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).