DragonFly kernel List (threaded) for 2007-10
DragonFly BSD
DragonFly kernel List (threaded) for 2007-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: pmap of amd64


From: "Yonghong Yan" <noah.yan@xxxxxxxxx>
Date: Tue, 16 Oct 2007 17:54:17 -0500

thanks make sense. thanks

On 10/16/07, Matthew Dillon <dillon@apollo.backplane.com> wrote:
>
> :
> :just for curious: what is recursive pml4 mapping, found from freebsd pmap.h
> :
> :also, freebsd only have a page of PML4 entries, about 4K/64=64
> :entries, not all 512 (2**9).
>
>      I'm not sure but I think what they are doing is mapping the page table
>      itself with a page table entry.
>
>      For example, under i386 if you take the page directory address and
>      program that into one of the page directory array slots, what you
>      get at that address is a representation of the page table.
>
>      [pde] -> [page_table0] -------> [normal-page-in-memory0]
>               [page_table1]          [normal-page-in-memory1]
>               [page_table2]          [normal-page-in-memory2]
>               [page_table3]
>               [page_table4]
>               [pde]     -----------> [page_table-page-in-memory0]
>               [page_table6]          [page_table-page-in-memory1]
>                 ...                  [page_table-page-in-memory2]
>                                      ...
>
>      This allows the system to look up a page table entry directly in
>      memory by indexing relative to some base address.
>
>      I do not think we need to map page tables into memory because we
>      will have a direct physical map available and can do the translations
>      manually without having to load down the TLB more then it is already.
>
>                                                 -Matt
>
>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]