Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Understanding /proc/iomem

I was looking into the "/proc/iomem" entries and have a doubt regarding the same.

My Linux PC is running a Intel Xeon and has a system RAM of 4GB.

/proc/iomem entry of my system looks like

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

Now, assuming that my processor has 32 address lines ( i feel that it has 40 address lines - i see this from /proc/cpuinfo), this means that my processor will be able to address 4GB of physical memory.

Looking from my "/proc/iomem" entries, I see that only 2GB of system RAM is being directly addressed by my CPU.

Now my doubt is

  1. How does my CPU addresses other 2 GB of RAM ? Where can I see the memory mapping for that ?
like image 418
user1227554 Avatar asked Dec 09 '13 11:12

user1227554


Video Answer


1 Answers

You are running into the 3 GB barrier (which your BIOS has moved down to 2 GB). Only 2 GB are used as system RAM; the other 2 GB of the physical address space are used for I/O devices.

The other memory is used as high memory, which cannot be used directly but must be mapped, page by page, into the virtual address space whenever it is to be accessed.

like image 170
CL. Avatar answered Sep 19 '22 12:09

CL.