当前位置:   article > 正文

Linux内存管理(七):start_kernel 详解_linux start_

linux start_

源码基于:Linux 5.4

约定:

  • 芯片架构:ARM64
  • 内存架构:UMA
  • CONFIG_ARM64_VA_BITS:39
  • CONFIG_ARM64_PAGE_SHIFT:12
  • CONFIG_PGTABLE_LEVELS :3

0. 前言

在bootloader 做好初始化工作后,将 kernel image 加载到内存后,就会跳到kernel 部分继续执行,跑的先是汇编部分的代码,进行各种设置和环境初始化后,就会跳到 kernel 的第一个函数start_kernel(),start_kernel() 完成内核系统的所有配置和初始化,其中 setup_arch() 是早期系统的配置和初始化工作。 

该系列专栏,会通过源码的深入剖析来查看内存管理系统的原理。本文将会是这个系列专栏代码剖析的起点。

另外,作为内存管理的代码剖析起始篇(start_kernel之前的汇编将会单独分析),这里将总结很多内核常用的基础函数,详见本文第 x 节。

1. start_kernel 中内存管理代码流程

  1. ----start_kernel() // init/main.c
  2. ----setup_arch()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/160000
推荐阅读
相关标签
  

闽ICP备14008679号