什么是irq域,我读了内核文档(https://www.kernel.org/doc/Documentation/IRQ-domain.txt),他们说:
注册为唯一irqchips的中断控制器的数量显示出上升趋势:例如,GPIO控制器等不同类型的子驱动器通过将其中断处理程序建模为irqchips,即实际上是级联中断控制器,避免重新实现与IRQ核心系统相同的回调机制.
如何将GPIO控制器称为中断控制器?
linux interrupt linux-device-driver linux-kernel embedded-linux
什么是链式IRQ?做什么chained_irq_enter
和chained_irq_exit
做什么,因为在中断发生后IRQ线被禁用,但是chained_irq_enter
调用与屏蔽中断有关的功能.如果该行已被禁用,为什么要屏蔽中断?
任何人都可以告诉为什么MSI中断在linux中不可共享.
基于PIN的中断可以由设备共享,但MSI中断不由设备共享,每个设备都有自己的MSI IRQ号.为什么不能共享MSI中断?
我将使用分配用户应用程序中的内存,malloc
并将malloc
返回的地址通过字符驱动程序接口发送到内核模块。
我将get_user_pages_fast
在内核模块中使用该内存的页面。
我可以virt_to_phys
用来获取所返回的地址吗malloc
?有效吗 如果没有,我如何获得正确的物理地址?
我的目的是获取用户空间分配内存的物理地址。我将传输大小限制为页面大小(4KB)。
memory malloc memory-management linux-device-driver linux-kernel
如果我有以下内核线程函数:
int thread_fn() {
printk(KERN_INFO "In thread1");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我还需要在kthread_stop()
这里使用功能吗?
将return
在线程函数使内核线程停止并退出?
当mysql数据库中发生更新或更改时,如何通知我的C或C++应用程序.有没有专门的图书馆为此目的服务?
任何人都可以解释 range 属性中的每个值代表什么。
my_pcie_0: pcie@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mypcie";
device_type = "pcie";
reg = < 0x40000000 0x00100000 >;
ranges = < 0x02000000 0 0xf0000000 0xf00000000 0x0 0x08000000>;
}
Run Code Online (Sandbox Code Playgroud) 当我们使用irq_set_chained_handler时,当我们为关联的处理程序提供服务时,irq行不会被禁用,就像request_irq一样.
irq linux-device-driver linux-kernel interrupt-handling embedded-linux