Let APs wait until the BSP has completed the register updates to remove
the CPU. This makes sure all APs stay in SMM mode until the CPU
hot-unplug operation is complete, which in turn makes sure the ACPI lock
is released only after the CPU hot-unplug operation is complete.
Some background: The CPU hotplug SMI is triggered from an ACPI function
which is protected by an ACPI lock. The ACPI function is in the ACPI
tables generated by qemu.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
//\r
QemuSelector = mCpuHotEjectData->QemuSelectorMap[ProcessorNum];\r
if (QemuSelector == CPU_EJECT_QEMU_SELECTOR_INVALID) {\r
+ /* wait until BSP is done */\r
+ while (mCpuHotEjectData->Handler != NULL) {\r
+ CpuPause ();\r
+ }\r
+\r
return;\r
}\r
\r