linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Dan Malek <dan@mvista.com>
To: Gary Thomas <gthomas@redhat.com>
Cc: Rolf Liu <rolfl@sc.mcel.mot.com>, linuxppc-dev@lists.linuxppc.org
Subject: Re: separate kernel as code segment and data segment for linux p
Date: Thu, 04 Jan 2001 13:07:35 -0500	[thread overview]
Message-ID: <3A54BBE7.27A35C8F@mvista.com> (raw)
In-Reply-To: XFMail.20010103201404.gthomas@redhat.com


Gary Thomas wrote:

> This method is called XIP (for execute in place) and is available on
> some other architectures.  I don't know what it would take for the PPC,

We have it running on a couple of MPC8xx systems.  It requires some
careful memory mapping of the rom and the kernel, but almost no
code changes in the kernel.  Lots of hacking in the vmlinux.lds file :-).
It is only XIP for the kernel, not any applications.

One cool performance hack it allows on the MPC8xx is using a
dedicated 8M TLB entry to map the kernel text, so no TLB misses when
running in the kernel (although, no one should be running in the
kernel anyway :-).

I don't understand the cost tradeoff, but I have been told that in
high volume consumer products that can use a masked rom it is actually
less expensive than RAM.  You can also put lots of the filesystem
in there as well.  In one case it saved just enough ram that the
product didn't have to include the next larger increment.  Pennies
counted.

I have not yet found a way to make this build "automatically".  You
need some addressing knowledge prior to building the kernel, then
some "hand waving" magic you manually code into 'head.S', then you
can make vmlinux.  Once I am able to simply set some configuration
variables and 'make romxip', I'll check it into the mainstream
kernel sources.


	-- Dan

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2001-01-04 18:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-04  1:45 separate kernel as code segment and data segment for linux ppc ? Rolf Liu
2001-01-04  3:14 ` separate kernel as code segment and data segment for linux p Gary Thomas
2001-01-04  3:49   ` Rolf Liu
2001-01-04  4:07   ` Critical section - pSOS+ Srinivas Rao.M
2001-01-04 21:03     ` Jerry Van Baren
2001-01-05  5:19       ` Srinivas Rao.M
2001-01-04 18:07   ` Dan Malek [this message]
2001-01-04  8:50 ` separate kernel as code segment and data segment for linux ppc ? Wolfgang Denk

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=3A54BBE7.27A35C8F@mvista.com \
    --to=dan@mvista.com \
    --cc=gthomas@redhat.com \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=rolfl@sc.mcel.mot.com \
    /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).