uboot没有虚拟内存管理,其程序直接访问物理地址,所以30008000是物理地址,跳到这个地址,则内核便可以直接运行起来,而内核运行起来后,会马上启动MMU,进行虚拟内存映射(几乎是马上,之前只是比对了CPU和ARCH两个参数),然后其程序访问的便是虚拟内存。你之所以有这个困惑,我想是因为没有弄明白uboot和内核其实是两个独立的
映像,内核启动后uboot映像便不起作用了,而且其空间也会被内核初始化,这时kernel的stext实际上是由
内核映射生成时的链接器来决定的,链接器指定c0008000这么一个不存在于物理地址空间的地址,是因为内核
是运行于虚拟空间的,因为它马上就启动了MMU。