ARMのCPU判定

Intel x86では、CPUID命令でCPUの種類を得ることができるが、ARMには存在しない。
ARMではシステム制御コプロセッサのMain ID Register(MIDR)から取得する。
おまけで、System Control Register(SCTLRも取得してみる。

ビルド

pi@raspberrypi:~/armcpuinfo $ make
make -C /lib/modules/5.4.83-v7+/build M=/home/pi/armcpuinfo modules
make[1]: Entering directory '/home/pi/linux'
  CC [M]  /home/pi/armcpuinfo/armcpuinfo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC [M]  /home/pi/armcpuinfo/armcpuinfo.mod.o
  LD [M]  /home/pi/armcpuinfo/armcpuinfo.ko
make[1]: Leaving directory '/home/pi/linux'

実行結果

pi@raspberrypi:~/armcpuinfo $ sudo insmod armcpuinfo.ko
pi@raspberrypi:~/armcpuinfo $ sudo rmmod armcpuinfo
[ 4245.068818] armcpuinfo: loading out-of-tree module taints kernel.
[ 4245.069367] armcpuinfo_init
[ 4245.069379] MIDR = 410fd034
[ 4245.069388] SCTLR = 10c5383d
[ 4255.571746] armcpuinfo_exit

※Raspberry PiはRaspberry Pi財団の登録商標です。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS