第04节_dtb转换为device_node(unflatten)_P.zip

即使你没有在设备树 memreserver 指定保留内存

内核也会把DTB所占据域保留下来,既调用memblock_reserve

调用过程:

start_kernel  //init /main.c

  setup_arch(&command_line);//arch/arm/kernel/setup.c

    arm_memblock_init(mdesc) ; //arch/arm/kernel/setup.c

         early_init_fdt_reserve_self();

                  这个函数最终会调用到memblock_reserve 把dtb文件所占据的内存保留下来,以后的内核和应用程序都不会占用那块内存

dtb内存,也就是文件,会在内存一直保留着。

       early_init_fdt_scan_reserved_mem(); //根据dtb中的memreserve信息,调用memblock_reserve内存区域保留下来,不占用它;

unflatten_device_tree();

 为DTB里面的所有节点,包括根节点 ,构造一个device_node结构体

根节点没有名字,所有full_name为空

对与根节点,它有4个属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值