转自:https://blog.csdn.net/feflkdfgj/article/details/75671453 Sparse 诞生于 2004 年, 是由linux之父Linus开发的, 目的就是提供一个静态检查代码的工具, 从而减少linux内核的隐患。内核代码中有一个简略的关于 Spar ...
分类:
其他好文 时间:
2021-07-07 17:57:02
阅读次数:
0
Linux 内核:设备树(1)dtb格式 背景 dtb作为二进制文件被加载到内存中,然后由内核读取并进行解析,如果对dtb文件的格式不了解,那么在看设备树解析相关的内核代码时将会寸步难行,而阅读源代码才是了解设备树最好的方式。 所以,如果需要更透彻的了解设备树解析的细节,第一步就是需要了解设备树的格 ...
分类:
系统相关 时间:
2021-06-28 18:17:54
阅读次数:
0
总述 Linux 系统下的驱动最后都是以如下这个结构体呈现在系统中的,注意其中的dev_pm_ops增加来准备替换platform_driver中的电源管理相关的内容的。这里内容主要都是流程梳理的没有详细罗列具体的Linux内核代码的内容所以可以参考源码来学习。也可以看文末的参考博客写的比较傲详细。 ...
分类:
系统相关 时间:
2020-09-17 13:59:46
阅读次数:
41
按照以下思路大概总结下对linux内核4.14.2总体框架的认识 1、内核是由哪些文件组成的 2、内核的编译体系是怎么样的,是怎么编译链接起来的 3、内核的启动流程,在启动过程中大致做了哪些工作 4、通过对exynos4412开发板上移植linux内核4.14.2验证上述分析 5、编译出uImage ...
分类:
系统相关 时间:
2020-07-18 15:38:02
阅读次数:
94
container_of,(C 语言 up cast) 内核中的定义: Cscope tag: container_of # line filename / context / line 1 27 drivers/gpu/drm/radeon/mkregtable.c <<container_of> ...
分类:
编程语言 时间:
2020-06-25 09:56:37
阅读次数:
62
一、Cortex-M的定位 二、内存管理单元 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。 在多用户、多进程的操作系统中,MMU使得各个用户进程都有独立的地址空间。 任何微控制器都存在一个程序能够产生的地址集和,被称为虚拟地址范围。 以32位机为例,虚拟 ...
分类:
系统相关 时间:
2020-06-17 12:52:35
阅读次数:
62
一、skb中获取ip头、udp头 内核代码HOOK函数中: 从skb获取ip头,使用内核API ip_hdr(): #include <linux/ip.h> struct iphdr *iph;iph = ip_hdr(skb); 从skb获取udp头,使用内核API udp_hdr(): #in ...
分类:
系统相关 时间:
2020-05-26 10:43:08
阅读次数:
87
转: 解密内存屏障(注释补充) 你真的理解“内存屏障”了吗? 为什么需要内存屏障 简介:以下虽非java内存屏障的例子,但很大具有参考对比性) 内存屏障是一种底层原语,在不同计算机架构下有不同的实现细节。本文主要在x86_64处理器下,通过Linux及其内核代码来分析和使用内存屏障 对大多数应用层开 ...
分类:
其他好文 时间:
2020-05-16 20:36:33
阅读次数:
68
做为一个过来人,我谈谈我自己的看法,欢迎大家补充: 首先肯定的一点是:不要一上来就看内核代码,基本上你会很快被挫败感打败。内核正在变得越来越庞大,学习曲线越来越陡峭,当你一无所知的时候冒然进入linux kernel,你会发现处处都是障碍,处处都是大坑,你根本走不下去。最好的方法是把对内核源代码的热 ...
分类:
系统相关 时间:
2020-05-09 23:29:43
阅读次数:
93
Q:通常情况下选择子中的RPL与对应描述符中的DPL相同,那么是否可以取缔RPL?RPL是保证内核数据安全的关键要素之一;在内核代码中有决定性作用,绝对不能取缔A.获取操作系统的内核该实验主要通过调用门调用将内核数据进行打印具体的实现代码如下%include"inc.asm"org0x9000jmpENTRY_SEGMENT[section.gdt];GDTdefinition;段基址,段界限,段
分类:
其他好文 时间:
2020-05-07 12:01:36
阅读次数:
73