+ // Wait for all APs finished the initialization\r
+ //\r
+ while (PeiCpuMpData->FinishedCount < (PeiCpuMpData->CpuCount - 1)) {\r
+ CpuPause ();\r
+ }\r
+\r
+ if (PeiCpuMpData->X2ApicEnable) {\r
+ DEBUG ((EFI_D_INFO, "Force x2APIC mode!\n"));\r
+ //\r
+ // Send 2nd broadcast IPI to all APs to enable x2APIC mode\r
+ //\r
+ WakeUpAP (PeiCpuMpData, TRUE, 0, ApFuncEnableX2Apic, NULL);\r
+ //\r
+ // Wait for all known APs finished\r
+ //\r
+ while (PeiCpuMpData->FinishedCount < (PeiCpuMpData->CpuCount - 1)) {\r
+ CpuPause ();\r
+ }\r
+ //\r
+ // Enable x2APIC on BSP\r
+ //\r
+ SetApicMode (LOCAL_APIC_MODE_X2APIC);\r
+ }\r
+ DEBUG ((EFI_D_INFO, "APIC MODE is %d\n", GetApicMode ()));\r
+ //\r