我想知道是否可以在efi应用程序中分配“物理地址”超过4GB的内存缓冲区?
实施例。 PC上安装了6GB DRAM,efi应用程序分配4KB缓冲区,物理内存地址为0x100000000(= 4GB)
可以吗?
答案 0 :(得分:0)
在32位平台上,这是不可能的,即使地址扩展技术允许安装超过4GB。这是因为要求所有RAM都映射为1:1物理:虚拟地址。
在64位平台上,这应该可以正常工作,只要没有愚蠢的平台特定的固件错误阻止它。
一些早期的x64 UEFI" bioses"忘了实际映射RAM> 4GB - 导致访问冲突错误,但对于除了BIOS兼容模式(CSM)以外的任何其他任何实际经过验证的情况,这都可以正常工作。