From mboxrd@z Thu Jan 1 00:00:00 1970 From: jlight@srcit.stevens.edu (James Light) Date: Sat, 2 Apr 2011 12:31:54 -0400 Subject: Regarding enable paging code and swapper_pg_dir. In-Reply-To: <20110402162534.GB7686@stevens.edu> References: <201104020137.12899.mindentropy@gmail.com> <20110401211921.GH23673@stevens.edu> <201104021333.21661.mindentropy@gmail.com> <20110402162534.GB7686@stevens.edu> Message-ID: <20110402163154.GC7686@stevens.edu> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org If you look at the 2.6.38 code for head.S, you may find the newer way it is written to be a bit easier to read. ------------------------------------------------------------------------------ 25 /* Physical address */ 26 #define pa(X) ((X) - __PAGE_OFFSET) ... 345 /* 346 * Enable paging 347 */ 348 movl $pa(initial_page_table), %eax 349 movl %eax,%cr3 /* set the page table pointer.. */ 350 movl %cr0,%eax 351 orl $X86_CR0_PG,%eax 352 movl %eax,%cr0 /* ..and set paging (PG) bit */ 353 ljmp $__BOOT_CS,$1f /* Clear prefetch and normalize %eip */ ------------------------------------------------------------------------------ -James