我正在尝试使用irq_to_desc应用程序接口获取芯片数据,并从内核模块设置irq亲和性。但是irq_to_desc接口不能在linux内核中导出。有没有其他方法可以获取irq芯片数据或设置irq_affinity?
谢谢,dev
发布于 2015-09-30 17:16:05
内核2.6.32似乎没有为模块提供对irq描述符的访问。所有使用它的驱动程序都被编译为内置的。
如果你确实需要这个函数,你可以使用find_symbol来获取它的地址:
// It will be pointer to irq_to_desc function.
struct irq_desc (*func_irq_to_desc)(unsigned int irq);
// Initialize pointer to function
struct kernel_symbol* ks = find_symbol("irq_to_desc");
if(ks)
func_irq_to_desc = (typeof(func_irq_to_desc))ks->value;
// Use function
func_irq_to_desc(2)->affinity = 3;当然,这是一个黑客行为。此外,使用find_symbol需要模块的"GPL“许可证。
https://stackoverflow.com/questions/32839985
复制相似问题