Re: RFC: running out of x86 boot loader IDs

From: H. Peter Anvin
Date: Thu Jan 29 2009 - 18:20:00 EST


Ingo Molnar wrote:

- If the boot loader ID is E, the current pad1 field at 0x226 is repurposed as an extended loader ID. The reason to use the pad1 field is that it is present in all headers since version 2.02. The boot loader ID will simply be: ((extended ID + 0x10) << 4) + (version), where (version) as before is (type_of_loader & 15). This is the value which will be reported in /proc/sys/kernel/bootloader_type.

The biggest question is probably: is there a need/desire for an extended version field, or is four bits enough for existing bootloader needs?

i think it's prudent to add an extension mechanism, regardless of demand. Existing bootloader projects will be content with the IDs they already have so they are unlikely to request new ones. Future bootloader projects cannot request it because they dont exist yet. So there's no-one to talk up.


Good point. If so, it probably makes most sense to split pad1 into two one-byte fields; one for ID and one for version. The bootloader_type will have to continue to be (ID << 4)+basic_version; we can presumably add a bootloader_version file which can report a bigger ID.

Either that or we can expose the raw pad1 field as bootloader_exttype and force any users to be aware of the field splits.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/