Reputation: 41
What happens when kernel owns 2GB of memory?
will the direct mapping of 894MB remains the same starting at 3GB of virtual address space.
will temporary mapping set aside for vmalloc gets more virtual memory that is 128 MB and again the new 1GB which is below the 3GB of the virtual address. ?
is the below picture true for 2GB kernel space.
|------------------|4GB
| 128MB |
vmalloc region
|------------------|
| 896MB |
|---------------- |3GB
| 1GB |
vmalloc region
|-------------------|2GB
Upvotes: 1
Views: 181
Reputation: 41
got the answer..
The page_offset must be set to 0x80000000 instead of the typical default of 0xC0000000 ,which means all the high memory region will be mapped above the 896MB of kernel memory.
This PAGE_OFFSET is used by __pa(x) and __va(x) for address conversion.
Upvotes: 0