Re: How to convert virtual address to physical address and revers e?

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

 



the first 3GB in VA is left for process itself, and the fourth gigabyte is
left for kernel.
during the kernel booting, va from PAGE_OFFSET was DIRECTLY mapped to pa
from 0 and thats why we subtract PAGE_OFFSET. but that was constrained for
RAM size belows 896 MB.
I am instrested in how it works in the case of RAM size larger than 896 MB
(and less than 4GB)? ram window?
could anyone give me a detail about it ?


> As per my understanding PAGE_OFFSET is the starting kernel virtual
> address, that means kernel virtual address will start from
> PAGE_OFFSET.
>
> My question is, why we are subtracting PAGE_OFFSET from a given
> address in __pa() macro, is it because physically kernel code is
> placed in lower memory. If this is not the reason, can someone please
> clarify this ?
>


--
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