loongarch|龙芯(LoongArch)架构获取CPUID

【loongarch|龙芯(LoongArch)架构获取CPUID】根据龙芯架构手册可知,通过 cpucfg 指令可以读取一系列配置寄存器,0 号配置寄存器存放的是CPU 标识ID。 所以只要用cpucfg 读取 0号配置寄存器即可。代码如下:

#include #include #define LOONGARCH_CPUCFG0 0x0uint32_t read_cpucfg(uint32_t reg) { uint32_t val = 0; asm volatile("cpucfg %0, %1\n\t" :"=r"(val) :"r"(reg) ); return val; }uint32_t get_cpuid() { return read_cpucfg(LOONGARCH_CPUCFG0); }int main(int argc, char *argv[]) { uint32_t cpuid = get_cpuid(); printf("cpu id:0x%x\n",cpuid); return 0; }

    推荐阅读