We can't exactly say that we require "page table settings" to map that 896 MB of physical ram. It is an identity mapped segment (1-1 mapping). So, we dont require the "page tables". Virtual address will be equal to Physical Address + Page Offset. It is just an addition of offset
Chetan, I see what you mean. You were absolutely correct. Just that, I feel that the term "page tables" should not be used for the conversion of virtual addresses to physical address in the identity mapped segment. O'wise people may get confused.
On Tue, Apr 6, 2010 at 10:28 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
On 04/06/2010 09:05 PM, Chetan Nanda wrote:Correct.
>
> I have a question here, what if I have a 32bit system with 2GB of RAM,
> so in that case my 896MB - 2GB RAM would be in accessible?
> What my understanding on the subject is:
> Only 896 MB of physical RAM is directly mapped on to kernel 1G virtual
> address space. And we still require page table settings to do that (page
> table would be identity mapping). But for rest of RAM, i.e. whenever
> there is need to access physical RAM beyond 896MB then that page will be
> mapped on to pages from 128MB kernel virtual address space (1GB - 896MB
> = 128MB), and AFAIK kmap is just for that.
>
> Please correct me if i am wrong
>
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.