Index: sys/amd64/amd64/mp_machdep.c =================================================================== --- sys/amd64/amd64/mp_machdep.c +++ sys/amd64/amd64/mp_machdep.c @@ -371,6 +371,9 @@ amd64_conf_fast_syscall(); + if (cpu_ops.cpu_init) + cpu_ops.cpu_init(); + /* signal our startup to the BSP. */ mp_naps++; Index: sys/i386/i386/mp_machdep.c =================================================================== --- sys/i386/i386/mp_machdep.c +++ sys/i386/i386/mp_machdep.c @@ -277,7 +277,10 @@ cr0 &= ~(CR0_CD | CR0_NW | CR0_EM); load_cr0(cr0); CHECK_WRITE(0x38, 5); - + + if (cpu_ops.cpu_init) + cpu_ops.cpu_init(); + /* signal our startup to the BSP. */ mp_naps++; CHECK_WRITE(0x39, 6); Index: sys/x86/x86/mp_x86.c =================================================================== --- sys/x86/x86/mp_x86.c +++ sys/x86/x86/mp_x86.c @@ -994,9 +994,6 @@ npxinit(false); #endif - if (cpu_ops.cpu_init) - cpu_ops.cpu_init(); - /* A quick check from sanity claus */ cpuid = PCPU_GET(cpuid); if (PCPU_GET(apic_id) != lapic_id()) {