"matrix reloaded" <matrix_reloaded18@xxxxxxxxxxxxxx> writes: > Hi, > Sorry if this kinda request has already been logged in this mailing list. I would > like to know how the interpretation of Kernel Address and User Address is made. I > mean to say that how does mmu know that it needs to call __pa(x) or __va(x) for > Kernel Adderss and others for user address ? Could you also tell me where this > code is exactly present ? It doesn't. On x86, it has a pointer to the base of the page tables in control register three. When it's translating a virtual address it uses the page tables found there to resolve any translation that isn't already in the TLB. It's the same whether the CPU is running in ring 0 (kernel) or ring 3 (userland). -- Ed L Cashin <ecashin@xxxxxxxxxx> -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/