Regarding high mem

Kshemendra KP kshemendra at suphalaam.com
Wed Oct 17 04:52:04 EDT 2012


On Wed, Oct 17, 2012 at 2:04 PM, Chetan Nanda <chetannanda at gmail.com> wrote:

>
>
> On Tue, Oct 16, 2012 at 5:47 PM, Kshemendra KP <kshemendra at suphalaam.com>wrote:
>
>>
>>    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.
>>
>
> As per my understanding, if kernel code is running under a process context
> then it can access lower 3GB address space, provided address in 0-3GB is in
> process address space.  And its not a high memory.
> High memory is a virtual address space with 1GB kernel space to map RAM
> pages beyond 896MB.
>

One thing not clear to me is, during boot,  kernel is copied to 1st MB of
the RAM in x86 architecture as this  architecture
has ISA mem map hole (640k -to 1MB). From 1st BM till 896MB is occupied by
the kernel. Then user space will be
made available beyond 896 MB.  With this reasoning, it is not clear to me,
whether user space which is present
beyond 896 MB is in high memory.

>
>
>
>>    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.
>>
>
> Kernel can access 0-3GB memory, take an example of application sending
> data to kernel via system call e.g. write.
> in Write system call pointer to the buffer will be in 0-3Gb address space
> of calling application. And kernel will access this address to write data
> to drivers/etc ..
>
>
>>
>> Regards
>>
>> Kshemendra
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>> Chetan Nanda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20121017/2bcebe46/attachment-0001.html 


More information about the Kernelnewbies mailing list