[PATCH 17/19] bootwrapper: compatibility layer for old U-Boots (a.k.a. cuImage, cuboot)
David Gibson
david at gibson.dropbear.id.au
Thu Mar 15 13:02:34 EST 2007
On Wed, Mar 14, 2007 at 06:59:04PM -0700, Mark A. Greer wrote:
> On Thu, Mar 15, 2007 at 11:04:45AM +1100, David Gibson wrote:
> > On Wed, Mar 14, 2007 at 04:23:39PM -0700, Mark A. Greer wrote:
> > > On Wed, Mar 14, 2007 at 04:48:49PM -0500, Scott Wood wrote:
> > > > Mark A. Greer wrote:
> > > > >Are you sure that '_end' (which is the end of the zImage/cuImage)
> > > > >is safe to use? If the kernel is large enough (e.g., INITRAMFS)
> > > > >it will overwrite your dtb when its decompressed and relocated to 0.
> > > > >You need to grok the elfheader to figure out where the kernel will end
> > > > >and take the max of that and _end.
> > > >
> > > > Wouldn't it overwrite the bootwrapper itself before overwriting the heap?
> > >
> > > Sure but that doesn't matter--the kernel is running so the bootwrapper's
> > > life is over but the dtb's life isn't.
> >
> > The bootloader now expands the kernel directly at 0, rather than
> > allocating space for it, except on platforms that can't (OF).
>
> Well, its not at 0 if you have a platform_ops.vmlinux_alloc()
> defined which could be anyone. But I get your point.
Well, yes, but cuboot doesn't. The platforms always going to have to
define a malloc() and vmlinux_alloc() that don't conflict with each
other.
> > So we
> > *would* clobber the bootloader during the bootloader's life if the
> > kernel was too large. There's a check for a too-large kernel as we
> > decompress it.
>
> This seems like a problem to me. Premably, INITRAMFS will be used
> more & more often so this check is going to fail more & more often.
> We'll end up havng to keep moving the addr it loads at further & further
> back or define platform_ops.vmlinux_alloc() and have the issue I
> mentioned.
Err... won't the initramfs image go in the same place as the initrd
image, not as part of the vmlinux.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the Linuxppc-dev
mailing list