Re: VMA of processes and CPU registers

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

 



Hi John,

On Tue, Apr 19, 2011 at 3:56 PM, limp <johnkyr83@xxxxxxxxxxx> wrote:
> Hi all,
>
> I know that each user processes has a number of virtual memory areas (VMA)
> which consist its (virtual memory) address space. For example cat
> /proc/1426/maps will return the (virtual memory) address space of the
> process 1426.
>
> What I don't know for sure is if the actual CPU registers contain the
> virtual address of a running process or the "translated" by MMU physical
> address.
>
> I think that every access to a VA must be resolved to a corresponding PA so
> I guess the CPU registers will deal with the physical addresses rather than
> the virtual ones but I wanted to be sure about it.

The CPU registers will contain the virtual addresses. Each and every
time that the CPU tries to access a virtual memory location, then the
address will be translated by the MMU into a physical address.

Generally speaking. the only time you actually deal with physical
addresses is when you're setting up the MMU, and when programming
hardware (like DMA) which accesses memory without going through the
MMU.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[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