Do you mean that kernel menory which would be 1 GB in this case is at a fixed address physically and just by shifting the virtual address by PAGE_OFFSET we can get Physical address ? As stated in the first mail that kernel has page table base addresses from where it translates the addresses. Then what is that ? Thanks. Sumit. On Tue, 10 Aug 2004 Christophe Lucas wrote : >matrix reloaded (matrix_reloaded18@xxxxxxxxxxxxxx) wrote: > > If it's so, then what is the significance of __pa and __va ? > > Could you please throw some light on this ... > > > > Thanks. > > Sumit. > >Hi, > >kernel memory is placed before PAGE_OFFSET 0xC0000000. So __pa() and >__va() translate virtual adress to real and real to virtual. > >But a read of code would be better ;-) > >http://lxr.linux.no/source/include/asm-i386/page.h?v=2.4.26 >http://kos.enix.org/pub/intelvol1.pdf.gz >http://kos.enix.org/pub/intelvol2.pdf.gz >http://kos.enix.org/pub/intelvol3.pdf.gz >The three lastest are pointer to ia32 book. > >Hope this help. > > > 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). >-- >Amicalement/Regards >Christophe > >----------------------------------------------------------------- >Christophe Lucas <c.lucas@xxxxxxxxxxx> developer/sysadmin >Registered User #271267 http://odie.mcom.fr/~clucas/ >RotomaLUG member (http://www.rotomalug.org) gpg dsa: 0x1E87C874 >----------------------------------------------------------------- > >Se tromper est humain ; Vraiment foutre la merde necessite le mot de >passe de root.