在linux-2.6.24.4/arch/arm/kernel/head.S中有这样的一段话。
* swapper_pg_dir is the virtual address of the initial page table.
* We place the page tables 16K below KERNEL_RAM_VADDR.Therefore, we must
* make sure that KERNEL_RAM_VADDR is correctly set.Currently, we expect
* the least significant 16 bits to be 0x8000, but we could probably
* relax this restriction to KERNEL_RAM_VADDR >= PAGE_OFFSET + 0x4000.
大致的意思是,在KERNEL_RAM_VADDR(内核的在RAM中的地址)下面16K(16bit,也就是说是32Kb,0x8000)的当地放着初始化页表的虚拟地址,因而至少在RAM的开端地址还有偏移0x8000才干开端放内核。