All of lore.kernel.org
 help / color / mirror / Atom feed
* Multiboot2 Header Tags: Unclear definition of type
@ 2020-05-23 10:17 Hans Ulrich Niedermann
  0 siblings, 0 replies; only message in thread
From: Hans Ulrich Niedermann @ 2020-05-23 10:17 UTC (permalink / raw)
  To: grub-devel

Quoting the Multiboot2 specification:

> 3.1.3 General tag structure
> ---------------------------
> 
> Tags constitutes a buffer of structures following each other padded
> when necessary in order for each tag to start at 8-bytes aligned
> address. Tags are terminated by a tag of type '0' and size '8'.
> Every structure has following format:
>
>             +-------------------+
>     u16     | type              |
>     u16     | flags             |
>     u32     | size              |
>             +-------------------+
>
>   'type' is divided into 2 parts.  Lower contains an identifier of
> contents of the rest of the tag.  'size' contains the size of tag
> including header fields.  If bit '0' of 'flags' (also known as
> 'optional') is set, the bootloader may ignore this tag if it lacks
> relevant support.  Tags are terminated by a tag of type '0' and size
> '8'.

How is 'type' divided into two parts? The rest of the MB2 specification
only defines some constants in the range of 0 to about 0x10 as values
for 'type', but there is no mention of upper or lower parts at all.

(And if there were, I would expect u8 fields for type and whatever the
upper is supposed to be.)

I suspect the phrasing with parts and lower is a remnant of a previous
iteration, and 'type' is just meant to be a 16 bit integer constant.

Does anyone have any insights into this?

Uli


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-23 10:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-23 10:17 Multiboot2 Header Tags: Unclear definition of type Hans Ulrich Niedermann

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.