[x86 question] invalid conversion of bootloader_type and bootloader_version ??

From: Jongman Heo
Date: Thu Feb 13 2014 - 00:59:17 EST



Hi, all,

While looking at x86 boot code (arch/x86/kernel/setup.c), I got confused due to bootloader_type and bootloader_version conversion.

I've only checked GRUB and U-Boot bootloader code.

1. GRUB 2
type_of_loader setting = 0x72
-> bootloader_type = 0x72, bootloader_version = 0x2

2. U-Boot
type_of_loader setting = 0x8
-> bootloader_type = 0x8, bootloader_version = 0x8

3. example in Documentation/x86/boot.txt
type_of_loader = 0xE4, ext_loader_type = 0x05, ext_loader_ver = 0x23, for T = 0x15, V = 0x234
-> bootloader_type = 0x154, bootloader_version = 0x234

So, for GRUB 2 and the example bootloader, T != bootloader_type.
Is this intended?
First I thought that bootloader_type and bootloader_version should match with T and V configured in the bootloader.

This would not bring any real world issue, but I'm just curious.

Regards,
Jongman Heo.
N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå