linux proc编译.pc,linux-了解/ proc / iomem

我正在查看“ / proc / iomem”条目,对此有疑问.

我的Linux PC运行Intel Xeon,并具有4GB的系统RAM.

我系统的/ proc / iomem条目看起来像

00000000-0000ffff : reserved

00010000-0009f3ff : System RAM

0009f400-0009ffff : reserved

000a0000-000bffff : PCI Bus 0000:00

000c0000-000c7fff : Video ROM

000ca000-000cbfff : reserved

000ca000-000cafff : Adapter ROM

000cb000-000cbfff : Adapter ROM

000cc000-000cffff : PCI Bus 0000:00

000d0000-000d3fff : PCI Bus 0000:00

000d4000-000d7fff : PCI Bus 0000:00

000d8000-000dbfff : PCI Bus 0000:00

000dc000-000fffff : reserved

000f0000-000fffff : System ROM

00100000-7fedffff : System RAM

01000000-01520fa4 : Kernel code

01520fa5-01c0e44f : Kernel data

01d56000-0201d963 : Kernel bss

03000000-0b0fffff : Crash kernel

7fee0000-7fefefff : ACPI Tables

7feff000-7fefffff : ACPI Non-volatile Storage

7ff00000-7fffffff : System RAM

c0000000-febfffff : PCI Bus 0000:00

fec00000-fec0ffff : reserved

fec00000-fec003ff : IOAPIC 0

fed00000-fed003ff : HPET 0

fed00000-fed003ff : pnp 00:08

fee00000-fee00fff : Local APIC

fee00000-fee00fff : reserved

fffe0000-ffffffff : reserved

现在,假设我的处理器有32条地址线(我觉得它有40条地址线-我从/ proc / cpuinfo中看到了这一点),这意味着我的处理器将能够寻址4GB的物理内存.

从我的“ / proc / iomem”条目来看,我发现CPU仅直接寻址2GB的系统RAM.

现在我的疑问是

>我的CPU如何寻址其他2 GB的RAM?在哪里可以看到它的内存映射?

解决方法:

您正在运行3 GB barrier(BIOS已下移至2 GB).

仅2 GB用作系统RAM.其余2 GB的物理地址空间用于I / O设备.

另一个内存用作high memory,该内存不能直接使用,但是无论何时要访问它,都必须一页一页地映射到虚拟地址空间中.

标签:embedded-linux,linux-kernel,linux

来源: https://codeday.me/bug/20191122/2059398.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值