armv8启动流程
2015-09-10 21:01:57 11 举报
ARMv8启动流程包括以下步骤:1. 上电后,CPU执行复位向量地址处的指令;2. 初始化堆栈指针SP;3. 初始化程序计数器PC;4. 读取并解码异常向量表;5. 根据异常类型跳转到相应的处理函数;6. 如果发生系统重置,则执行系统初始化代码;7. 如果发生非安全模式到安全模式的转换,则执行安全状态进入序列。
作者其他创作
大纲/内容
lookup_processor_type
el2_setup
head.s(stext)
处理模式返回到EL1
检测FDT是否是8字节对齐,位于物理地址的前512MB之内
__calc_phys_offset
计算物理地址与虚拟地址的偏移量
__switch_data
保存的是由Uboot传进来的,设备树在内存中的地址
__create_page_tables
创建内核页表
初始化完成以后ret的时候返回到__enable_mmu所在的地址
__enable_mmu
__vet_fdt
set_cpu_boot_mode_flag
搜索处理器类型,在arch/arm64/kernel/cputable.c中定义
处理器初始化完成后跳转到__switch_data
0 条评论
下一页