RE: RAM or "empty"?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi ,

Reply Inline .

--- "Thekkedath, Gopakumar"
<Gopakumar.Thekkedath@xxxxxxx> wrote:

> 
> 
> 
> 
> >Is there a way to find the PHYSICAL ADDRESSES of
> all
> >the devices used in a Computer ? 
> 
>    does cat /proc/iomem serves the purpose ?
> 

Well , if /proc/iomem gives the PHYSICAL address
range of devices , then why is the  System RAM 
split into 3 different address ranges as seen below 
(marked by arrows ) ? Is it bcoz the Motherboard is
designed in this manner ? 

~> cat /proc/iomem
00000000-0009fbff : System RAM  <--- 1
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-1fecffff : System RAM  <---- 2
  00100000-0028dadf : Kernel code
  0028dae0-00324f63 : Kernel data
1fed0000-1feeffff : ACPI Non-volatile Storage
1fef0000-1fefffff : System RAM  <---- 3
40000000-40000fff : Intel Corp. 82801BA/BAM/CA/CAM
Ethernet Controller
  40000000-40000fff : eepro100
40300000-4037ffff : Intel Corp. 82815 CGC [Chipset
Graphics Controller]
44000000-47ffffff : Intel Corp. 82815 CGC [Chipset
Graphics Controller]
feea0000-ffffffff : reserved

Are these memory address ranges dynamically 
determined ? Which kernel code file does this ?

Also , does  /proc/ioports represent IO-mapped 
PHYSICAL memory addresses ,
similar to the  the Memory-mapped PHYSICAL memory 
addresses in /proc/iomem ?

~> cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
1000-103f : Intel Corp. 82801BA/BAM/CA/CAM Ethernet
Controller
  1000-103f : eepro100
2000-20ff : Intel Corp. 82801BA/BAM AC'97 Audio
  2000-20ff : Intel 82801BA-ICH2 - AC'97
2400-243f : Intel Corp. 82801BA/BAM AC'97 Audio
  2400-243f : Intel 82801BA-ICH2 - Controller
2440-245f : Intel Corp. 82801BA/BAM USB (Hub #2)
  2440-245f : usb-uhci
2460-246f : Intel Corp. 82801BA IDE U100
  2460-2467 : ide0
  2468-246f : ide1

> >Also , does the VM in linux translate the memory 
> >address of programs into actual Physical addresses 
> >of RAM , or is it that Hardware does the actual
> >translation to Physical addresses  ( since the RAM 
> >addresses would differ across different Computers 
> >depending on the amount of RAM & also the
> Motherboard
> >design ) .
> 
>  Most of the processors will require the OS to setup
> page directories/tables
> which it will refer
> to convert the virtual address to physical address.
> You are right that the
> RAM addresses differ across 
> systems, In one of the boards i worked, the SDRAM
> physical start address was
> 0xc4000000, so the kernel page
> tables were set such that, virtual address 0xc000
> 0000 was mapped to
> physical address 0xc400 0000 and so on. 
> 

So you mean to say the Page tables being setup 
during initialization at boot up would take care 
of this dynamically or would this require a kernel 
code change ( which file )?

TIA .

Cheers !
  

> --
> Kernelnewbies: Help each other learn about the Linux
> kernel.
> Archive:      
> http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 
> 



		
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux