April 2, 2011
4:31 p.m.
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