如何从保护模式(或C代码)调用PXE API?

时间:2018-09-18 07:06:38

标签: bootloader

我打算为x86x64体系结构编写一个引导加载程序,希望从那里使用内置在网卡中的PXE网络堆栈进行UDP和TFTP调用。我看到有一个PXE API可以使用。但是,我想编写的程序集尽可能少,并且希望在C语言中实现UDP / TFTP通信(这将是一个两阶段的引导程序,只需很少的程序集即可从BIOS过渡而来,并且主逻辑将驻留在第二阶段用C编写)。我想我的C代码只能在保护模式下运行,而PXE API只能在实模式下调用。所以我的问题是,要呼叫PXE,我是否必须暂时过渡回实模式?我听说这样做并非没有危险。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

PXE API似乎有一个称为EntryPointESP的专用于32位保护模式的入口点。由于我还没有尝试过,所以我不确定所有细节,但是应该可以。有关更多信息,请咨询PXE spec

相关问题