我正在尝试gate_desc *idt_table
在内核模块中使用。set_trap_gate()
desc.h 中定义的函数使用这个指针。在 desc.h 中也有一个定义:extern gate_desc idt_table[]
。
我尝试了不同的东西:
- 在我的模块中使用
idt_table
没有定义或做作 影响
idt_table
我的(有效)idt_table
地址我在编译期间收到id_table
未定义的警告或idt_table
.创建一个名为 instance 的新 var 并将, , ,函数从 sched.h 复制到我的模块文件(重命名它们,并使用它而不是
gate_desc *it = (gate_desc *)@;
)。这编译得很好,但是在插入我的模块时,我在模块(ret -1)错误中得到一个未知符号。(我的模块中没有对 idt_table 的引用,并且我从 sched 使用的函数确实使用了我的变量)。set_trap_gate
set_gate
write_idt_entry
pack_gate
idt_table
我试图查看 sched.h 包含的文件在哪里定义idt_table
,但找不到!
有人知道我可以如何使用 sched.h 中的 idt_table 指针(用正确的地址影响它)或创建一个新指针吗?