arch/arm64/kernel/smp.c 5657DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number); 58EXPORT_PER_CPU_SYMBOL(cpu_number);59 3、smp_processor_id include/linux/smp.h 和raw_smp_processor_id 一样,得到当前cpu的 cpu_number 的值。 上面的 raw_smp_processor_id 是 arch 需要实现的函数,在 arch/arm64/inc...
2)启动其它CPU,可以有多种方式,例如CPU hotplug等,启动过程为:secondary_startup-->__secondary_switched-->secondary_start_kernel-->cpu_startup_entry 上面的代码位于./arch/arm64/kernel/head.S、init/main.c等等,感兴趣的读者可以自行参考。最终都会殊途同归,运行至cpu_startup_entry接口,该接口位于kernel/s...
midr main id register 信息在这儿 -midr_el1 里面的内容不保证唯一性,仅仅表示 CPU的厂商,架构,版本号等内容。类似于商品信息-条形码。 https://developer.arm.com/documentation/ddi0595/2021-12/AArch32-Registers/MIDR--Main-ID-Register?lang=en arch/arm64/include/asm/cputype.h 10#defineMPIDR_UP_BITM...
arch/arm64/kernel/smp.c 5657DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number); 58EXPORT_PER_CPU_SYMBOL(cpu_number);59 3、smp_processor_id include/linux/smp.h 和raw_smp_processor_id 一样,得到当前cpu的 cpu_number 的值。 上面的 raw_smp_processor_id 是 arch 需要实现的函数,在 arch/arm64/inc...