diff options
-rw-r--r-- | src/cpu/x86/mp_init.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index 806fc98123..fd2add0b9b 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -486,19 +486,16 @@ static enum cb_err start_aps(struct bus *cpu_bus, int ap_count, atomic_t *num_ap if (!CONFIG(X86_AMD_INIT_SIPI)) { printk(BIOS_DEBUG, "Waiting for 10ms after sending INIT.\n"); mdelay(10); - } - - /* Send 1st Startup IPI (SIPI) */ - if (send_sipi_to_aps(ap_count, num_aps, sipi_vector) != CB_SUCCESS) - return CB_ERR; - /* Wait for CPUs to check in up to 200 us. */ - wait_for_aps(num_aps, ap_count, 200 /* us */, 15 /* us */); + /* Send 1st Startup IPI (SIPI) */ + if (send_sipi_to_aps(ap_count, num_aps, sipi_vector) != CB_SUCCESS) + return CB_ERR; - if (CONFIG(X86_AMD_INIT_SIPI)) - return CB_SUCCESS; + /* Wait for CPUs to check in up to 200 us. */ + wait_for_aps(num_aps, ap_count, 200 /* us */, 15 /* us */); + } - /* Send 2nd SIPI */ + /* Send final SIPI */ if (send_sipi_to_aps(ap_count, num_aps, sipi_vector) != CB_SUCCESS) return CB_ERR; |