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財団の登録商標です。