为GRUB引导加载程序的multiboot指定的全局变量的含义是什么?



我正在努力弄清楚这是什么

.set ALIGN,    1<<0             # align loaded modules on page boundaries
.set MEMINFO,  1<<1             # provide memory map
.set FLAGS,    ALIGN | MEMINFO  # this is the Multiboot 'flag' field
.set MAGIC,    0x1BADB002       # 'magic number' lets bootloader find the header
.set CHECKSUM, -(MAGIC + FLAGS) # checksum of above, to prove we are multiboot

所以我有所有这些评论行,但我找不到这是为什么。第一组如何对齐加载的模块,align全局变量的结果是1,MEMINFO是2。

Michael的Multiboot Specification链接显示了正在发生的事情。FLAGS符号(在您的示例中包含0xB0000000)指定了操作系统映像请求或引导加载程序需要的特性。位0是通过ALIGN符号设置的,它指定与操作系统一起加载的所有引导模块必须在页(4KB)边界上对齐。位2,这是由MEMINFO符号设置的,指定需要内存信息。

相关内容

  • 没有找到相关文章

最新更新