首页 > 系统相关 >内存管理-25-内存初始化

内存管理-25-内存初始化

时间:2024-08-03 10:28:01浏览次数:8  
标签:25 head reserved 初始化 early init fdt 内存

基于msm-5.4

一、C代码部分

1. 调用路径

_head //head.S 
    stext //head.S
        __primary_switch //head.S
            __primary_switched //head.S
                kaslr_early_init //kaslr.c 最先调用,可配置会否生效与不生效,默认生效
                    early_fixmap_init
                start_kernel
                    setup_arch //setup.c 主要路径
                        early_fixmap_init
                        early_ioremap_init
                        setup_machine_fdt
                            early_init_dt_scan(params) //fdt.c
                                early_init_dt_scan_nodes //fdt.c
                                    early_init_dt_scan_memory //fdt.c 解析memory内存节点,填充memory内存区
                        arm64_memblock_init
                            early_init_fdt_scan_reserved_mem //fdt.c 解析reserved内存,填充reserved内存区
                        paging_init
                        bootmem_init
                            memblocks_present //sparse.c
                            sparse_init //sparse.c
                            zone_sizes_init //init.c
                            memblock_dump_all //memblock.h dump所有memory区域和reserved区域
                        early_ioremap_reset //标记内存已经初始化好了
                    build_all_zonelists //page_alloc.c
                    page_alloc_init //page_alloc.c
                    mm_init //main.c
                        mem_init //init.c
                        kmem_cache_init //slab.c
                        kmemleak_init //kmemleak.c
                        pgtable_init //mm.h
                        vmalloc_init //vmalloc.c

 

标签:25,head,reserved,初始化,early,init,fdt,内存
From: https://www.cnblogs.com/hellokitty2/p/18340117

相关文章

  • .Net内存管理释放的两种方式
    在.Net中,资源回收主要是指内存管理和非托管资源的释放。分别提供了两种主要的方式进行处理:垃圾回收(GC)确认性资源释放(DRD)官网相关文档的链接:https://learn.microsoft.com/zh-cn/dotnet/standard/managed-code垃圾回收(GarbageCollection)垃圾回收是.NET运行时自动处理内存管......
  • 2560战法+选股指标+主图
    2560战法+选股指标+主图 作者: 深海游鱼  QQ:396068801 日期:2024年8月需要指标的朋友请加QQ交流。买点1:冲量,量价金叉买点2:做量,即日线回踩25日均线后反弹上穿25日均线,同时五日均量线<=60日均量线卖点3:二次金叉        ......
  • C语言数据在内存中的存储超详解
    文章目录1.整数在内存中的存储2.大小端字节序和字节序判断2.1什么是大小端?2.2为什么会有大小端?2.3练习3.浮点数在内存中的存储3.1一个代码3.2浮点数的存储3.2.1浮点数存的过程3.2.2浮点数取的过程3.3题目解析1.整数在内存中的存储在操作符......
  • Redis学习[5] ——Redis过期删除和内存淘汰
    六、Redis过期键值删除6.1Redis的过期键值删除策略6.1.1什么是过期键值删除?Redis中是可以对key设置过期时间的,所以需要有相应的机制将已过期的键值对删除,也就是**过期键值删除策略。Redis会用一个过期字典(expiresdict)**来存储有过期时间的所有key。当查询一个key时,Red......
  • c语言结构体的概述,定义结构体变量类型的方法,结构体变量的引用,结构体变量的初始化,结构
    1.C语言结构体的概述在C语言中,结构体(struct)是一种复合数据类型,用于将不同类型的数据组合在一起。它可以包含基本数据类型(如int、float、char等)以及其他结构体。结构体非常适合表示具有多种属性的复杂数据,如学生信息(包含姓名、年龄、成绩等)或坐标点(包含x和y坐标)。结构......
  • Spark内存计算引擎原理与代码实例讲解
    Spark内存计算引擎原理与代码实例讲解关键词:Spark,内存计算,RDD,DAG,Shuffle,容错,分布式计算1.背景介绍1.1问题的由来随着大数据时代的到来,传统的基于磁盘的MapReduce计算框架已经无法满足实时计算、迭代计算等场景对计算性能的要求。Spark应运而生,其基于内......
  • oppo,埃科光电25届秋招,快手25届技术人才专项计划等几千家企业岗位内推
    oppo,埃科光电25届秋招,快手25届技术人才专项计划等几千家企业岗位内推①【OPPO】25届秋招开启!内推简历优先筛选!【岗位类别】AI/算法类,软件类,硬件类,工程技术类,品牌策划类,设计类,产品类,职能类等......
  • mysql密码的初始化,修改与重置
    目录mysql密码的初始化,修改与重置郑重说明:初始化密码(第一次使用前要初始化密码)查看密码(已登录状态)修改密码(已知原密码)忘记密码(密码找回)诺mysql装在Windows诺mysql装在Linux结尾systemctl为什么可以管理mysql附件mysql密码的初始化,修改与重置郑重说明:文章guixiang原创,全......
  • 如何在两个不同的内存位置创建 int 1 ?
    我想向某人展示如何使用is而不是==来比较整数可能会失败。我认为这会起作用,但事实并非如此:>>>importcopy>>>x=1>>>y=copy.deepcopy(x)>>>xisyTrue我可以轻松地为更大的整数做到这一点:>>>x=500>>>y=500>>>xis......
  • 反射内存卡经典应用场景
    ARINC429模块在航空电子系统中扮演着至关重要的角色,‌其应用范围广泛且深入,‌确保了飞机各系统间数据的高效、‌准确和可靠传输。‌以下是对ARINC429模块典型应用场景的详细阐述。一、‌引言ARINC429,‌作为航空电子领域广泛采用的一种数字信息传输标准,‌自1977年提出以来,‌便以......