2023年10月11日
摘要: vmalloc(一) 昨天同事遇到了vmalloc的问题,今天就抽时间看一下vmalloc的实现🦕。 第一部分:先分析了一下最简单的代码,如何申请vm_struct以及关联的vmap_area,以及申请要使用的页。 申请页后的映射留着后续具体分析。 直接从vmalloc函数开始看起(mm/vmal 阅读全文
posted @ 2023-10-11 23:05 CodeTrap 阅读(143) 评论(0) 推荐(0)
  2023年10月9日
摘要: memblock 前两天,看系统初始化时解析dtb的时候,发现首先会查找memory类型的节点并由memblock管理。 那么,现在就来分析一下memblock吧! 继续由dtb相关的接口开始分析,parse_dtb会查找到memory类型节点,确定memory节点对应的base以及size,最终会 阅读全文
posted @ 2023-10-09 17:31 CodeTrap 阅读(102) 评论(0) 推荐(0)
  2023年10月7日
摘要: kernel如何根据dtb文件生成device tree device tree dtb文件中的内容会被内核组成了device tree,整个tree上由两个数据结构组成:struct device_node和struct property。 struct device_node { const c 阅读全文
posted @ 2023-10-07 20:49 CodeTrap 阅读(180) 评论(0) 推荐(0)
摘要: DTS实验 qemu的dumpdtb参数可以解析出qemu virt设备平台使用的默认dtb配置。 qemu-system-riscv64 -M virt,dumpdtb=qemu.dtb 成功解析出目标dtb文件,但此文件无法直接进行修改,必须将其修改为dts文件。 dtc -I dtb -O d 阅读全文
posted @ 2023-10-07 17:05 CodeTrap 阅读(355) 评论(0) 推荐(0)
摘要: qemu搭建riscv的可调试环境 riscv工具链 (网上大多数用Github直连的工具链,但是因为太大,download的时候老是出问题) 选择使用Cross-compilation toolchains for Linux - Home (bootlin.com)进行下载,之后解压。 bin目 阅读全文
posted @ 2023-10-07 09:47 CodeTrap 阅读(757) 评论(0) 推荐(0)