Coreboot + SeaBios模式切换

时间:2016-05-15 07:48:13

标签: bootstrapping bios

我正在阅读Coreboot的一些代码,它首先要做的是进入保护模式,这对于intel x86引导程序来说是正常的,之后,它会加载并调用有效负载(在本例中为seabios),seabios会执行所有操作硬件设备的必要初始化程序,其中一些程序需要在实模式下完成,最后BIOS在0x7c00始终以实模式调用os bootstraper。

我的疑问和疑问是:在保护模式和实模式(再次)之间切换的时间点是什么时候?

最终的处理器模式是:大实模式吗?

由于

1 个答案:

答案 0 :(得分:2)

我有同样的问题。根据SeaBIOS执行流程manual,POST的最后阶段是启动阶段。对引导加载程序的调用以call_boot_entry()开始,该函数使用参数“0x07c0”调用farcall16()。 farcall16将调用汇编函数transition16,它将把cpu切换回实模式并将jmp转换为“0x07c0”。