If it's so, then whatz the significance of __pa and __va ? Could you please throw some light on this ... Thanks. Sumit. On Mon, 09 Aug 2004 Ed L Cashin wrote : >"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/ >