我计划为x86和x64架构编写一个引导加载程序,我希望在其中使用内置到网卡中的PXE网络堆栈进行UDP和TFTP调用。我看到有一个我可以使用的PXE API。然而,我希望编写尽可能少的程序集,并希望用C语言实现UDP/TFTP通信(这将是一个两阶段的引导加载程序,只需要从BIOS过渡到最少的程序集,主要逻辑将驻留在用C编写的第二阶段)。我假设我的C代码只能在保护模式下运行,而PXE API只能在实模式下调用。所以我的问题是,为了调用PXE,我是否必须临时转换回实模式?我听说这样做并不是没有危险。任何帮助都将不胜感激。
发布于 2018-09-28 07:52:15
PXE API似乎有一个用于32位保护模式的专用入口点,称为EntryPointESP。因为我还没有尝试过,所以我不确定所有的细节,但它应该可以工作。有关更多信息,请咨询PXE spec。
https://stackoverflow.com/questions/52380767
复制相似问题