私は私のカーネルソースに見て、kerneldir /アーチ/ x86の/含める/ ASM/processor.hで、次の定義が見つかりました:LinuxカーネルモジュールでCPU情報を取得する方法は?
extern void cpu_detect(struct cpuinfo_x86 *c);
私は私の外の木カーネルでこれを使用しようとしましたこのコードを使用してモジュール:
#include <asm/processor.h>
struct cpuinfo_x86 cpu;
cpu_detect(&cpu);
if(cpu.x86_model == 28) // Intel Atom
{
// do stuff
}
私は私のソースコードをビルドすると、私は次の警告を得る:
Building modules, stage 2.
MODPOST 1 modules
WARNING: "cpu_detect" [<my-kernel-module-path>.ko] undefined!
です私のモジュール内のカーネルスペースからCPU情報を取得するより良い方法はありますか?私がやっていることが正しければ、オブジェクトコードを得るために渡す必要のある特別なリンクオプションがありますか? 、
がkallsyms_lookup_name("print_cpu_info")
に関数ポインタを使用します。