On x86 kernel is normally split into 3GB (user) : 1 GB (Kernel) spaces.
Kernel can only directly
   manipulate 1 GB (around 889 MB) from the PAGE_OFFSET (0xC0000000). The
user space
   memofy below PAGE_OFFSET kernel can't directly access, it considers this
memory as
   high memory. Kernel needs to kmap()/kmap_atomic() map user page and
access that region.

   If the memory is above 4 GB with page extension, it is clear that kernel
can't access it as
   kernel uses "void *" and/or  "unsigned long" to hold the address. But it
is not clear for me
   why kernel's can't directly access memory below PAGE_OFFSET ( 0-3GB)
directly.


Regards

Kshemendra
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to