grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multiboot2: make multiboot header optional


From: Hollis Blanchard
Subject: Re: multiboot2: make multiboot header optional
Date: Fri, 24 Nov 2006 21:35:41 -0600

On Sat, 2006-11-25 at 03:59 +0100, Yoshinori K. Okuji wrote:
> On Thursday 16 November 2006 00:38, address@hidden 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]