gpt4 book ai didi

linux - 最大/最小物理地址 - Linux 内核

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:45 25 4
gpt4 key购买 nike

为什么给定的虚拟地址(只是一个例子):

虚拟地址ffffffffa08f9533对应物理地址:0x24a5adff8

我只有 0x200000000 (8gb) 的物理内存量(假设第一个地址为零——可能是错误的假设)所以返回的物理地址在我的真实物理内存之外。我究竟做错了什么?

我使用的函数是:

virt_to_phys & phys_to_virt

谢谢

最佳答案

PC 有一些与实际 RAM 无关的地址空间。几天前,我安装了 4GB RAM 的显卡。但是 PC 中还有其他设备有自己的内存,CPU 仍然可以访问这些设备:RAID Controller 、网卡、支持 DMA 的 I/O 卡。

在 64 位时代之前,这些内存区域必须映射到 RAM 的物理地址空间中的某个位置。这意味着您可以在 PC 中安装超过 3.5GB 的内存,但您无法使用它。

使用 64 位 CPU,所有这些内存区域现在​​都可以映射到真实/普通 RAM 之外的某个地方。

在Linux上,您可以在/proc/iomem中获取64位物理内存的当前布局

相关:Getting memory map of every device in linux

关于linux - 最大/最小物理地址 - Linux 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com