On 7/31/07, Robert Millan <[EMAIL PROTECTED]> wrote: > On Mon, Jul 30, 2007 at 05:35:28PM -0500, Hollis Blanchard wrote: > > > When GRUB_IEEE1275_FLAG_EFIKA_SECRET_AVAILABLE_REGION was set, > > > release hardcoded 0x4000:0xffc000 region. > > > > Hmm, does this actually work? Since GRUB itself falls within that > > regions, the grub_ieee1275_release() call will mark all the memory > > that the GRUB kernel and modules occupy as free, which means they will > > be clobbered by heap usage. > > Didn't think of this.. (by chance it worked here, though). How about using > max(_end,0x4000) instead of 0x4000 ? > > (and adjusting region length not to overflow 0x1000000)
That won't quite work because the modules are loaded in the area immediately following the kernel. However, because they are added in a post-processing step, we don't know their end address at link time. I think the simplest solution will be to allocate Efika's heap high, as we talked about earlier. If the first "available" region is above 4MB, just reserve 4MB and don't worry about where it is. In general we should try to keep 4MB free, but at the end of the day it's Efika's fault and probably won't be a big deal for them anyways. -Hollis _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel