私はIRQ記述配列要素へのアクセスとこれらの要素のすべてのアクション名の表示に苦労しているCでカーネルモジュールをプログラミングしています。モジュール内のIRQ記述配列へのアクセスとアクション名の表示
最初は、このirq_desc配列はマクロのようなものだと思っていましたが、コンパイルした後は理解できませんでした。それからfor_each_irq_desc(irq、desc)関数を使いました。今回は警告を返しました:
警告: "irq_to_desc" [/home/samet/Masaüstü/Assignment3/Ass-1.ko] undefined!
この警告の後、私はカーネルにエラーメッセージがポップ今回モジュールにinsmodしようとした:
insmodの:エラーが「./Ass-1.ko」を挿入:-1モジュール
における未知のシンボルをこれ以降、このプロセスに関連していると思われるすべてのヘッダーファイルが含まれていますが、何も変更されていません。それは非常に短いので
私はコードを添付しています:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/irq.h>
#include <linux/irqdesc.h>
#include <linux/irqnr.h>
struct task_struct* p;
struct irq_desc* irqElement;
int irq, desc;
static int __init ass_1_init(void)
{
printk(KERN_INFO "Ass-1 module is starting...\n");
for_each_process(p){printk("%d\t%s\n", p->pid, p->comm);}
for_each_irq_desc(irq, irqElement){printk("%p\n", irqElement);}
return 0;
}
static void __exit ass_1_exit(void)
{
printk(KERN_INFO "Ass-1 module is finishing...\n");
}
module_init(ass_1_init);
module_exit(ass_1_exit);
どのカーネルバージョンを使用していますか? –
質問8251226を参照してください。 'モジュールでirq_to_desc()を使用できるとは思いません。' – hellork
@KristofProvost 2.6.37.6 –