1 2 3 4 5 6 7 8 9 10
#include <cpu/p6/msr.h> int boot_cpu(void) { int bsp; msr_t msr; msr = rdmsr(0x1b); bsp = !!(msr.lo & (1 << 8)); return bsp; }