> > >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, i think /proc/iomem is a list of virtual address. If you're intending to write a device, i think it won't be helpfull, because you should register the entry for your device (with request_mem_region()), i.e, you should already know the physical address before your device can get an entry in iomem. > > 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 > ioports aren't virtual address. They dont represent a memory region; they have special access functions. > > 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 )? > it seems to me this question isn't leading you where you want to get, but... AFAIK page tables are used to schedule process; the process status can be exchanged between RAM and disk(swap), ie, a page table can be its physical address changed every time. I don't which files of code have a code for this, but i think, if you're intending to understand such code, will be helpfull to understanding memoru management before: http://www.tldp.org/LDP/tlk/mm/memory.html http://www.tldp.org/LDP/khg/HyperNews/get/memory/linuxmm.html Regards, - Riba -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/