自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(638)
  • 收藏
  • 关注

原创 系统待机和唤醒的几种方式

休眠:唤醒:

2025-07-03 15:52:27 90

原创 devm_pci_alloc_host_bridge函数总结

整体可以看出,就是将得到的资源以链表的形式存放在bridge->windows,bridge->dma_ranges这两个节点里,节点是一个结构体,里面成员说明了,这个资源的大小,类型等等。后续待扫描pcie时,就可以将这些资源分配给pcie设备。具体的解析过程就不分析了,可以自己加点打印进行观察。

2025-06-09 11:39:53 188

原创 总结一些setpci的用法

通过名称设置寄存器的值或者能力寄存器的值,尤其是查看能力寄存器的值,是及其方便的。这里就不设置了,可以自己找些可读写的寄存器试一下。可以看到和lspci看到的值是一致的。

2025-06-05 18:01:13 213

原创 ranges属性验证

在设备树节点里增加这3个属性。

2025-05-29 17:56:24 246

原创 linux 中断子系统 层级中断编程

参考:https://blog.csdn.net/caiji0169/article/details/143862261。

2025-04-24 17:37:42 246

原创 linux 中断子系统链式中断编程

参考:https://blog.csdn.net/caiji0169/article/details/143862261。虚拟中断控制器代码,chained_virt.c。gpio按键代码:gpio_key.c。

2025-04-24 14:25:03 261

原创 网络唤醒wol功能

带有d说明不支持,如果带有g则说明支持。

2025-04-23 11:40:12 287

原创 linux下MMC_TEST的使用

linux下MMC_TEST的使用。

2025-04-08 11:04:38 200

原创 内核单核启动方式

linux-单核启动

2025-04-07 11:22:08 39

原创 内核crash定位

内核crash调试

2025-04-03 10:26:03 51

原创 usb hub眼图测试程序

【代码】usb hub眼图测试程序。

2025-01-13 14:28:25 364

原创 git push推送了多余的文件想删掉

【代码】git push推送了多余的文件想删掉。

2024-11-13 18:13:54 252 1

原创 buildroot制作自己的软件包(可以理解为应用程序)

可以看到生成的可执行程序。

2024-10-28 17:59:53 425

原创 工作常用命令

【代码】todo--

2024-09-20 15:42:06 363

原创 linux内核顺序锁

顺序锁

2024-09-05 22:46:53 140

原创 linux内核大内核锁

大内核锁

2024-09-05 22:45:56 349

原创 linux内核完成量

完成变量

2024-09-05 22:44:09 198

原创 linux内核互斥量

互斥量

2024-09-05 22:42:45 171

原创 linux内核读写信号量

读写信号量

2024-09-05 22:39:24 157

原创 linux内核信号量

内核信号量

2024-09-05 22:37:34 174

原创 linux内核读写自旋锁

读写自旋锁

2024-09-05 22:33:30 177

原创 linux内核自旋锁

自旋锁

2024-09-05 22:32:01 477

原创 linux内核原子变量和位操作

原子变量

2024-09-05 22:29:10 240

原创 linux内核同步方法汇总

原子操作自旋锁读-写自旋锁信号量读-写信号量互斥量完成变量大内核锁顺序锁

2024-09-05 22:27:00 215

原创 virt-manager的安装与使用(创建虚拟机)

p=1272。

2024-05-30 09:45:36 1042

原创 kvm使用virt-clone克隆虚拟机-主机和虚拟机之间共享文件

f是生成的新的虚拟机磁盘文件路径(一般是/var/lib/libvirt/images/这个路径)如果创建虚拟机过多,导致系统无法开机,可参考如下链接解决。使用命令查看磁盘空间,大概可以知道最多创建多少个虚拟机。克隆好以后,再次通过命令可以看到新增的虚拟机。-o后面要克隆的虚拟机名称。-n是新的虚拟机的名称。

2024-04-24 16:10:33 685 1

原创 在驱动中,利用Makefile增加宏定义

即在驱动源代码当中添加了DEBUG宏定义。即在驱动源代码当中添加了DEBUG宏定义。可以通过增加打印进行验证。可以通过增加打印进行验证。

2024-03-25 16:59:20 829

原创 ubuntu环境下openssl库的简单使用

编译:gcc aes.c -lssl -lcrypto -o aes。

2024-02-22 20:46:43 1151

原创 linux deadline调度算法源码阅读记录

内核版本:3.13deadline-iosched.c#include <linux/kernel.h>#include <linux/fs.h>#include <linux/blkdev.h>#include <linux/elevator.h>#include <linux/bio.h>#include <linux/module.h>#include <linux/slab.h>#include &

2023-12-26 10:43:03 260

原创 linux block noop调度算法源码阅读记录

【代码】linux block noop调度算法源码阅读记录。

2023-12-21 15:19:32 191

原创 linux block-plug形式的io合并代码分析

具体的合并代码就不分析了,比较重要的是,合并过程当中还有考虑一些值的限制情况,在符合这些值的限制下,才会进行合并,如果合并不了,则要重新分配一个request了。

2023-12-15 16:27:01 235

原创 struct queue_limits结构体参数学习

参考:内核版本:4.19.1内核提供了相关的API接口去设置这些相关的参数,在blk-settings.c文件。

2023-12-05 18:02:07 287

原创 linux内核bio子系统学习记录一:

主要源码目录 :block/bio.c include/linux/bio.h内核版本:4.19.1这部分先总结下bio子系统的初始化部分,后续再总结bio的申请以及释放,还有其它api的使用等介绍。bio的涉及到频繁的内存申请以及释放,包括bio结构体本身以及它比较重要的成员bi_io_vec*的内存申请和释放,所以初始化部分主要是相关的内存池的初始化,用于后面bio和bi_io_vec的内存申请和释放。defined。

2023-12-03 16:37:14 536

原创 blk_mq_init_queue函数学习记录

blk-mq编程,主要要调用两个函数进行初始化工作,blk_mq_init_queue这是第二个。该函数先是申请了struct request_queue结构,这个请求队列后面用于赋值给磁盘那个结构体的相应成员。

2023-11-24 11:04:05 636

原创 linux 3.13版本nvme驱动阅读记录四

调用完以后在dev目录下也可以看到相关的设备节点了。

2023-11-08 17:09:26 345

原创 linux 3.13版本nvme驱动阅读记录三

在调用完这个函数以后,就可以在dev目录下看到响应的设备了。

2023-11-08 16:54:43 350

原创 linux 3.13版本nvme驱动阅读记录二

内核3.13版本。该函数主要做了4减事情。1:nvme_dev_map,主要就是pci bar 那一套编程套路2:管理队列的配置3:dev_list?4:io队列的配置。

2023-11-06 09:17:10 438

原创 linux 3.13版本nvme驱动阅读记录一

2:dev->entry申请内存,大小是num_possible_cpus() * sizeof(*dev->entry),后面用于保存向量的相关信息,因为nvme是支持多队列的,所以后面可以将队列和特定的中断向量进行绑定,这个后面遇到相关代码再说。5:nvme_set_instance函数的调用,里面怎么实现的不用管,主要知道调用完它以后,dev->instance得到一个值就行了,这个值用于磁盘的命名,比如在dev目录下看到的/dev/nvmexxx就和这个值有关系。

2023-11-02 17:33:22 577

原创 简单的块设备驱动例程

代码在linux3.13版本下可以编译通过,装载驱动以后,可以用fio工具进行读写测试。

2023-10-16 15:21:39 212

原创 scsi READ CAPACITY (10)命令总结

READ CAPACITY(10)命令(参见表119)请求设备服务器将描述直接访问块设备的容量和介质格式的8字节参数数据传输到数据缓存中。这个命令可以被处理,就好像它有一个HEAD OF QUEUE任务属性。如果逻辑单元支持保护信息,应用客户端应使用READ CAPACITY(16)命令,而不应使用theREAD CAPACITY(10)命令。

2023-10-12 18:06:21 1092

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除