【发布时间】:2022-01-06 17:42:35
【问题描述】:
我正在尝试编写 x86_64 PC 模拟器。我想知道 UEFI 映射在哪个内存位置。我知道 BIOS 通常是从 0xf0000-0xfffff 和 0xf0000000-0xffffffff 映射的。 UEFI 是否映射到相同的位置?
【问题讨论】:
我正在尝试编写 x86_64 PC 模拟器。我想知道 UEFI 映射在哪个内存位置。我知道 BIOS 通常是从 0xf0000-0xfffff 和 0xf0000000-0xffffffff 映射的。 UEFI 是否映射到相同的位置?
【问题讨论】:
UEFI 未加载到特定内存位置。需要在处理器开始获取指令的地方放置一些东西,然后 SEC 和 PEI 阶段为 DXE 在某处动态解压缩做准备——在执行过程中加载单独的 PE/COFF。
您可以通过在运行时调用GetMemoryMap 引导服务来了解保留了哪些内存区域。
您可能会发现documentation of the existing EDK2 virtual machine port 很有帮助。
【讨论】: