
[linux内存管理] 第016篇 /proc/iomem的详细解析
0. 前言 此节点是显示memblock的这部分内存的具体使用情况的。我们可以看到这部分内存很明显不属于虚拟地址,而是物理地址,和设备树中的地址保持一致! spring:/ # cat /proc/iomem 00208000-00208fff : 208000.qcom,ipcc qcom,ipc

[linux内存管理] 第015篇 理解Linux内核中的memblock和ioremap机制
0. 前言 Linux驱动开发中,设备寄存器的物理地址如何被内核管理并映射到虚拟地址空间,是一个非常核心的知识点。本文将从memblock和ioremap的机制入手,梳理相关流程和原理。 1. 什么是memblock? memblock 是 Linux 内核在启动阶段管理物理内存的核心工具。它的主要

[linux内存管理] 第008篇 memblock子系统详解
0. 前言 经过[linux内存管理] 第007篇 fixmap映射详解的讲解,系统内存经过了FIXMAP映射,目前只是将fdt的地址映射并解析了设备树。 而在 Linux kernel 初始化完成之后,系统中的内存分配和回收是由 buddy 系统、 slab分配器 来管理,但是在 kernel 初

linux内存管理] 第006篇 start_kernel全局简述
前言 经过上一篇[linux内存管理] 第005篇 启动代码分析之汇编部分,最终执行bl start_kernel开始了C语言的世界。 start_kernel函数负责的功能很多,这个阶段会详细分析start_kernel的各