UEFI 图像的默认 ImageBase
Default ImageBase for UEFI images
对于 Windows,默认 ImageBase
值定义如下(来自 here):
The default base address for an .exe file is 0x400000 for 32-bit
images or 0x140000000 for 64-bit images. For a DLL, the default base
address is 0x10000000 for 32-bit images or 0x180000000 for 64-bit
images.
但是 UEFI 应用程序和驱动程序呢?他们是否具有相同的价值观或其他价值观?或者这无关紧要,任何值都可以,因为 UEFI 映像是可重定位的?
如您所料,这并不重要,因为 UEFI 映像是可重定位的。这是必须的,因为 UEFI 不提供地址转换 - 所有驱动程序和应用程序共享相同的虚拟地址 space。
对于 Windows,默认 ImageBase
值定义如下(来自 here):
The default base address for an .exe file is 0x400000 for 32-bit images or 0x140000000 for 64-bit images. For a DLL, the default base address is 0x10000000 for 32-bit images or 0x180000000 for 64-bit images.
但是 UEFI 应用程序和驱动程序呢?他们是否具有相同的价值观或其他价值观?或者这无关紧要,任何值都可以,因为 UEFI 映像是可重定位的?
如您所料,这并不重要,因为 UEFI 映像是可重定位的。这是必须的,因为 UEFI 不提供地址转换 - 所有驱动程序和应用程序共享相同的虚拟地址 space。