Vlad Dogaru <ddvlad@rosedu.org> writes:
On Fri, Jun 22, 2012 at 2:49 PM, AFT <aftnix@gmail.com> wrote:
Hi,
My source is from 2.6 git tree. In LDD3 its said that a logical address is mapped to physical address and vice versa by the macros __va() and __pa().
In my source tree they are defined as follows:
<include/asm-generic/page.h>
#define __va(x) ((void *)((unsigned long) (x))) #define __pa(x) ((unsigned long) (x))
I'm not actually understanding how these "cute" looking casting is performing "address mapping". I thought address mapping involves more complex operations.
See the comments at the beginning of the file you quoted:
/* * Generic page.h implementation, for NOMMU architectures. * This provides the dummy definitions for the memory management. */
For arch-specific code try looking, for instance, at arch/x86/include/asm/page.h .
Hope this helps, Vlad Hi Vlad,
Thanks for the explanation. I should lookout for embedded comments with more attention from now. cheers. aft