All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: "R. Sharada [imap]" <sharada@in.ibm.com>,
	fastboot@lists.osdl.org,
	PPC64 External List <linuxppc64-dev@lists.linuxppc.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: kexec on ppc64
Date: Thu, 15 Jul 2004 13:50:39 -0400	[thread overview]
Message-ID: <1089913838.2484.41.camel@gaston> (raw)
In-Reply-To: <1089864891.10000.257.camel@nighthawk>

On Thu, 2004-07-15 at 00:14, Dave Hansen wrote:
> taking silly IBM list off the cc...
> 
> On Wed, 2004-07-14 at 07:45, R Sharada
> >         - also identify relevant data (that might be required for the
> > kexec kernel) that could be pushed into the device_tree so that it can
> > be passed to the new kexec kernel
> 
> We actually had a similar problem on x86.  The e820 table is presented
> by the BIOS, and must be saved or reconstructed when you boot into the
> new kernel.
> 
> It would be really cool to have a way of passing the memory layout
> information to the new kernel that is relatively cross-platform.  That
> way, we don't get stuck rewriting it for each new arch.

I wouldn't even try to go that way at first. What we need is to pass
an OF device-tree around on ppc, with all the necessary informations
stuffed in it as additional properties.

> For instance, instead of passing the BIOS/firmware structures like LMBs
> in the device tree or e820 tables to the kexec kernel, you'd pass the
> Linux concepts like zone_start_pfn and so forth.

I'd prefer letting the new kernel decide those based on the low level
firmware info, or you introduce a higher level dependency between the
"old" and "new" kernels (what if those concepts change between the 2
kernels ?)

> > I would like to solicit inputs, feedback, opinions, changes on this
> > preliminary idea and planned list of 'things to do'. I would also like
> > to know the interest to participate in this effort or anything else
> > related to 'kexec on ppc64'.
> 
> While you're ripping apart prom.c, have you thought about getting rid of
> all of the RELOC() stuff?  I think Ben H. had an evil plan for that,
> too.

Paulus already removed a bunch, once we manage to completely isolate
prom_init from the rest of the kernel, it will be easier to "finish" it
by having prom_init be a totally separate link entity (could even be 32
bits relocatable code).

> BTW, have you seen any opportunities to replace the arch-specific things
> like lmb_alloc() with normal bootmem calls?

As far as lmb_alloc() is concerned, there are some constraints like beeing
in RMO for some things, or beeing at the top of the memory for others, that
aren't quite addressed by bootmem. Again, we are in the firmware env at
this point, I wouldn't rely on too much linux-specific data structures.

What we need, as we already discussed for a while with Rusty, is a specific
allocator for use within prom_init() which properly deals with both OF-side
allocations (claim the memory) to avoid walking over things like initrd,
deals with the various constraints we have, and produce a map of allocated
area as a property for use by the rest of the kernel.

As far as the post-prom-init stage is concerned, we can just turn that map
into lmb's, or try to get rid of lmb's and turn that into bootmem provided
we can deal with the various RMO constraints.

Ben.



  reply	other threads:[~2004-07-15 17:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-14 14:45 kexec on ppc64 R Sharada
2004-07-15  4:14 ` Dave Hansen
2004-07-15 17:50   ` Benjamin Herrenschmidt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-09-07 18:34 Matthew McClintock
2010-09-07 18:34 ` Matthew McClintock
2010-09-07 23:49 ` Michael Neuling
2010-09-07 23:49   ` Michael Neuling

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=1089913838.2484.41.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=fastboot@lists.osdl.org \
    --cc=haveblue@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc64-dev@lists.linuxppc.org \
    --cc=sharada@in.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.