在编译使用标头<asm/mmu_context.h>
的简单内核模块时,编译器会大声说有缺少的符号:
WARNING: "__tracepoint_tlb_flush" undefined!
WARNING: "rdpmc_always_available" undefined!
添加这个简单的陈述:
struct static_key rdpmc_always_available = STATIC_KEY_INIT_FALSE;
解决rpdmpc_always_availble
遗失符号问题。我很确定添加这一行并不是一个好主意,因为内核需要已经拥有它。
我无法找到其他符号的解决方案。
代码非常简单:
#include <linux/sched.h>
#include <asm/mmu_context.h>
int __init init_m(void)
{
switch_mm(NULL, NULL, NULL);
return 0;
}
我知道它不起作用,我只想弄清楚如何修复符号警告。 \