我有一台具有 6GB RAM 的 Vista x64 机器,我正在尝试测试设备驱动程序在对 4GB 以上的物理地址进行 DMA 时是否正常工作。
我找到了 AllocationPreference registry key ,它应该“强制分配从较高地址开始分配,然后再分配到较低地址”,但该页面不清楚这是否影响物理地址或仅影响虚拟地址。根据我的代码的行为,我怀疑它只影响虚拟地址。
我还遇到过 nolowmem 启动选项,该选项应该将“操作系统、设备驱动程序和所有应用程序加载到 4 GB 边界以上的地址中”,但它似乎仅适用于 32 位版本Windows 的。我尝试在 Vista x64 上启用,但机器无法启动。我几天前刚刚安装了这台机器,所以它没有任何服务包;我目前正在安装这些程序,看看这是否是由于 Windows 错误造成的。
有没有办法强制Windows分配4GB以上的虚拟地址并由4GB以上的物理地址支持?
最佳答案
关于windows - 有什么方法可以在 Vista x64 上分配 4GB 以上的物理内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156271/