Re: Kernel Virtual Address



Every logical address in kernel mode is kernel virtual address but
every kernel vitual address may not be a logical address.

Kernel logical addresses are those which have direct mapping to phyical
RAM (might be at constant PAGE_OFFSET), they are for whome kernel
builds the page table at boot time.They are also called as Linear
address.

Now the high memory address are not directly mapped in (above the 896
MB), kernel has to make page table for them in order to make available
them, these addresses are called logical address. alloc_pages(..) can
returns those address. Internally kernel makes use of kmap(..) &
kunmap(..) to map them.

Even ioremap(..) also builds the page table for pci mapped address.

So there are two types,
1. linear address
2.logical address
both are kernel virtual address, but with difference.
Ofcourse there are other address called Bus address but its nt a issues
in this thread.


Regards,
Mozis.

.



Relevant Pages

  • Re: The 3G (or nG) Kernel Memory Space Offset
    ... df> kernel to physical kernel. ... df> linear space located on 0-1G linear address, ... Note also that the memory resident pages of a process ... per-process mapped low, real memory mapped high. ...
    (Linux-Kernel)
  • Re: The 3G (or nG) Kernel Memory Space Offset
    ... end of RAM can be flexible. ... question is actually why there is a 3G offset from linear kernel to ... Why not simply have kernel memory linear space ... and therefore the physical kernel and ...
    (Linux-Kernel)
  • Re: Allocation of Linear address
    ... Amrith wrote: ... How it is assume this linear address for the Base field. ... > the kernel is compiled. ... Design of the Unix operating system: ...
    (comp.unix.internals)
  • Re: strong convergence
    ... take E to be the kernel of the map T -> ... trfor S a trace class operator, which is not of finite rank. ... linear functional is not strongly continuous. ...
    (sci.math.research)
  • Re: RH7.3 not booting latest kernel
    ... and try lba32, so I did a google search and found out I should replace ... 'linear' with 'lba32' and finally ended up with this: ... >> but I don't mess around with kernel stuff at all. ...
    (RedHat)