On Sat, 2006-11-25 at 03:59 +0100, Yoshinori K. Okuji wrote:
> On Thursday 16 November 2006 00:38, [EMAIL PROTECTED] wrote:
> > > I still would like an improvement in the kernel->GRUB communication.
> > > What about reusing the tags structure? For example:
> > >
> > > multiboot_header:
> > >   .long MAGIC
> > >   .long MULTIBOOT_TAG_START [...]
> > >   .long MULTIBOOT_TAG_LOADADDR ; .long 12 ; .long _start
> > >   .long MULTIBOOT_TAG_ENTRYADDR ; .long 12 ; .long main
> > >   .long MULTIBOOT_TAG_END ; .long 8
> > > etc?
> > >
> > > A cpp macro or two could make that a little more convenient.
> > >
> > > The fact that the START tag requires the number of tags and number of
> > > bytes is inconvenient here. Do we really need that? Why not just:
> > >
> > >         while (tag->key != MULTIBOOT_TAG_END)
> > >                 process_tag(tag);
> >
> > I really like such tags structure.
> > Tags structure are *very* flexible: can be easily extended without breaking
> > backward compatibility.
> 
> I don't like it very much. My first draft was exactly like this. But, after 
> some discussion in the IRC, I decided to revert my idea, because specifying 
> so many parameters by hand really sucks. It is too error-prone.

Bits are less error-prone?

How about this:
        MB_START_TAGS()
        MB_LOADADDR(0x1234)
        MB_ENTRYADDR(0x1234)
        MB_END_TAGS()

-Hollis



_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to