首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块中未导出的内核api使用情况

模块中未导出的内核api使用情况
EN

Stack Overflow用户
提问于 2015-09-29 17:04:00
回答 1查看 321关注 0票数 0

我正在尝试使用irq_to_desc应用程序接口获取芯片数据,并从内核模块设置irq亲和性。但是irq_to_desc接口不能在linux内核中导出。有没有其他方法可以获取irq芯片数据或设置irq_affinity?

谢谢,dev

EN

回答 1

Stack Overflow用户

发布于 2015-09-30 17:16:05

内核2.6.32似乎没有为模块提供对irq描述符的访问。所有使用它的驱动程序都被编译为内置的。

如果你确实需要这个函数,你可以使用find_symbol来获取它的地址:

代码语言:javascript
复制
// 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“许可证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32839985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档