About swapper_pg_dir

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

 




Quote from <<Understanding the Linux Virtual Memory Manager>>

"Initialization begins at compile time with statically de&#64257;ning an array called
swapper pg dir, which is placed using linker directives at 0x00101000. It then
establishes page table entries for two pages, pg0 and pg1. If the processor supports
the Page Size Extension (PSE) bit, it will be set so that pages that will be translated
are 4MiB pages, not 4KiB as is the normal case. The &#64257;rst pointers to pg0 and pg1
are placed to cover the region 1-9MiB; the second pointers to pg0 and pg1 are placed
at PAGE OFFSET+1MiB. This means that, when paging is enabled, they will map to
the correct pages using either physical or virtual addressing for just the kernel
image. The rest of the kernel page tables will be initialized by paging init()."


but I think " The &#64257;rst pointers to pg0 and pg1
are placed to cover the region 1-9MiB; the second pointers to pg0 and pg1 are placed
at PAGE OFFSET+1MiB." is not right.


pg0 and pg1 should cover 0-8MB, am I right?

Thanks for any comments!

Bao Zhao

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.com/



-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux