grub-devel
[Top][All Lists]
Advanced

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

Multiboot2 Header Tags: Unclear definition of type


From: Hans Ulrich Niedermann
Subject: Multiboot2 Header Tags: Unclear definition of type
Date: Sat, 23 May 2020 12:17:24 +0200

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



reply via email to

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