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 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel