linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <bh40@calva.net>
To: linuxppc-dev@lists.linuxppc.org, geert@linux-m68k.org
Subject: Re: bootloader & head.S weirdness (patch)
Date: Tue, 23 Nov 1999 20:35:57 +0100	[thread overview]
Message-ID: <19991123203557.015084@mailhost.mipsys.com> (raw)
In-Reply-To: <19991123121629.A16956@hq.fsmlabs.com>


On Tue, Nov 23, 1999, Cort Dougan <cort@fsmlabs.com> wrote:

>Do you keep the list around after the initialization?  We do something
>similar with the prep residual data but after we grab what we want we free
>the RAM. 

As I just wrote to Cort, we already have something for that on PPC, it's
the device tree. Having a tagged data structure _and_ a device tree looks
to me like having twice the same things (humm .. almost).

If we remove all the prom_init stuff from the kernel, we can simplify
kernel entry by always entering the kernel with a known MMU state (let's
say OFF) and with one parameter: the offset from _start to the device
tree image.

Non-OF machines can easily build a very simple tree with the various
residual datas from the bootloader and Mac/CHRP machines can have the
kernel image appended to a bootloader that fills the device tree from OF
and adds whatever supplementary stuffs we need (initrd, cmd_line, ...) to
the tree in a given node.

There are two things not yet clear to me with this scheme:

 - We'll need to have RTAS instanciated at a fixed address choosen by the
bootloader. I don't think it's a problem if the bootloader puts it as
high as possible in memory, but it would have been better to have the
kernel have control on it. But we can live with this limitation

 - on SMP machines, the other CPUs must be started by OF code. That means
that the bootloader must also start them in an idle loop. I beleive the
code for the idle loop can be in the device tree too with all the infos
required by the kernel to take over.

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

  reply	other threads:[~1999-11-23 19:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <19991122120429.031138>
1999-11-22 11:47 ` bootloader & head.S weirdness (patch) Benjamin Herrenschmidt
1999-11-22 17:07   ` Benjamin Herrenschmidt
1999-11-22 22:06     ` Cort Dougan
1999-11-23 10:44       ` Benjamin Herrenschmidt
1999-11-23 12:35       ` Benjamin Herrenschmidt
1999-11-22 21:40   ` Cort Dougan
1999-11-23 10:40     ` Benjamin Herrenschmidt
1999-11-23 17:48       ` Cort Dougan
1999-11-23 18:34         ` Geert Uytterhoeven
1999-11-23 19:16           ` Cort Dougan
1999-11-23 19:35             ` Benjamin Herrenschmidt [this message]
1999-11-23 20:16             ` Geert Uytterhoeven
1999-11-23 20:21               ` Cort Dougan
1999-11-24  7:32                 ` Geert Uytterhoeven
     [not found] <19991123133536.013861>
1999-11-23 17:07 ` Benjamin Herrenschmidt
1999-11-23 17:52   ` Cort Dougan
1999-11-23 18:08     ` Benjamin Herrenschmidt

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=19991123203557.015084@mailhost.mipsys.com \
    --to=bh40@calva.net \
    --cc=geert@linux-m68k.org \
    --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).