Linux内核解压缩符号

Linux内核解压缩符号解压缩器的地址

由于当你调用解压缩器代码时,通常关闭MMU,因此这里并不讨论虚拟地址和物理地址的问题

通常你在这个地址处调用内核,开始引导内核

它不需要在RAM中,只需要位于FLASH或其他只读或读/写的可寻址的存储设备中

l ZBSSADDR解压缩器的初始化为0的工作区的起始地址

必须位于RAM中,解压缩器会替你把它初始化为0,此外,需要关闭MMU

l ZRELADDR解压缩内核将被写入的地址和最终的执行地址,必须满足:__virt_to_phys(TEXTADDR) == ZRELADDR内核的开始部分被编码为与位置无关的代码

l INITRD_PHYS放置初始RAM盘的物理地址

仅当你使用bootpImage时相关(这是一种非常老的param_struct结构)l INITRD_ⅥRT初始RAM盘的虚拟地址

必须满足:__virt_to_phys(INITRD_ⅥRT) == INITRD_PHYSl PARAMS_PHYSparam_struct 结构体或tag lis的物理地址,用于给定内核执行环境下的不同参数

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关