All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Millan <rmh@aybabtu.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: embedding filesystems in core image (Re: moving ata initialisation to a command)
Date: Mon, 24 Dec 2007 17:24:54 +0100	[thread overview]
Message-ID: <20071224162453.GA28603@thorin> (raw)
In-Reply-To: <ca0f59980712240527q43edeeb8k90d1195e9844950d@mail.gmail.com>

On Mon, Dec 24, 2007 at 09:27:05PM +0800, Bean wrote:
> On Dec 24, 2007 9:09 PM, Robert Millan <rmh@aybabtu.com> wrote:
> > I was thinking in moving it to malloc'ed memory, which has the advantage that
> > you no longer need to remember a particular region is hardcoded for memdisk
> > (also, it hinders portability on platforms where top of memory is reserved).
> >
> > but this doesn't solve the problem about its original region being corrupted
> > (by payload loaders) before we have a chance to copy it.
> 
> In that case, you can copy the memdisk back to conventional memory,
> alongside with modules.
> In startup.S:
> 
> codestart:
> ...
> 	/* copy modules before cleaning out the bss */
> 	movl	EXT_C(grub_total_module_size), %ecx
> 	movl	EXT_C(grub_kernel_image_size), %esi
> 	addl	%ecx, %esi
> 
> ->
> 	movl	EXT_C(grub_total_module_size), %ecx
> +      addl    EXT_C(grub_memdisk_image_size), %ecx
> 	movl	EXT_C(grub_kernel_image_size), %esi
> 	addl	%ecx, %esi

Doesn't this add a restriction on the maximum usable size, when it collides
with the assorted amenities in the 640 kiB / 1024 kiB area ?

> > > I also recommend to add a variable grub_memdisk_image_base in
> > > startup.S, normally, this value will be zero,
> >
> > That's in my patch already.  Or did you mean something else?
> 
> But i only see the grub_memdisk_image_size, not the base address.

Ah right;  well it's still there, just not directly:

+  return 0x100000 + (grub_kernel_image_size - GRUB_KERNEL_MACHINE_RAW_SIZE) + grub_total_module_size;

those two variables are from startup.S as well, IIRC.  Although it might make
sense to move them as a precalculated address.  The code to compute it probably
takes more kernel space than the address itself..

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)



  reply	other threads:[~2007-12-24 16:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-16 15:30 moving ata initialisation to a command Robert Millan
2007-12-16 15:58 ` Christian Franke
2007-12-16 16:06 ` Vesa Jääskeläinen
2007-12-16 16:19   ` Robert Millan
2007-12-17 15:52     ` Marco Gerards
2007-12-17 16:01 ` Marco Gerards
2007-12-17 18:26   ` Pavel Roskin
2007-12-17 19:01     ` Marco Gerards
2007-12-20 17:38       ` Robert Millan
2007-12-20 17:36     ` Robert Millan
2007-12-21 16:47       ` Marco Gerards
2007-12-21 18:04         ` Robert Millan
2007-12-21 20:54           ` embedding filesystems in core image (Re: moving ata initialisation to a command) Robert Millan
2007-12-22  4:28             ` Bean
2007-12-22 11:24               ` Robert Millan
2007-12-22 12:27                 ` Yoshinori K. Okuji
2007-12-22 12:18               ` Robert Millan
2007-12-22 12:24                 ` Yoshinori K. Okuji
2007-12-23 18:44                   ` Robert Millan
2008-01-16 20:10                     ` Marco Gerards
2008-01-20 23:21                       ` Robert Millan
2007-12-24  8:29                 ` Bean
2007-12-24 13:09                   ` Robert Millan
2007-12-24 13:27                     ` Bean
2007-12-24 16:24                       ` Robert Millan [this message]
2007-12-24 16:44                         ` Bean
2008-01-02 19:56             ` Robert Millan
2007-12-26  8:00       ` embedding data in ELF " Robert Millan
2008-01-02 18:21         ` Pavel Roskin
2007-12-26  7:57   ` avoid firmware in grub-mkrescue " Robert Millan

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=20071224162453.GA28603@thorin \
    --to=rmh@aybabtu.com \
    --cc=grub-devel@gnu.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 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.