diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml index 7e63f419b2..b3b91aa84e 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml @@ -24,7 +24,7 @@ jobs: package: 'OvmfPkg' vm_image: 'windows-2019' should_run: true - run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE" + run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE QEMU_CPUHP_QUIRK=TRUE" #Use matrix to speed up the build process strategy: diff --git a/OvmfPkg/PlatformCI/PlatformBuildLib.py b/OvmfPkg/PlatformCI/PlatformBuildLib.py index bfef9849c7..58dc1189a2 100644 --- a/OvmfPkg/PlatformCI/PlatformBuildLib.py +++ b/OvmfPkg/PlatformCI/PlatformBuildLib.py @@ -170,6 +170,7 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManager): self.env.SetValue("PRODUCT_NAME", "OVMF", "Platform Hardcoded") self.env.SetValue("MAKE_STARTUP_NSH", "FALSE", "Default to false") self.env.SetValue("QEMU_HEADLESS", "FALSE", "Default to false") + self.env.SetValue("QEMU_CPUHP_QUIRK", "FALSE", "Default to false") return 0 def PlatformPreBuild(self): @@ -211,6 +212,17 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManager): args += " -pflash " + os.path.join(OutputPath_FV, "OVMF.fd") # path to firmware + ### + ### NOTE This is a temporary workaround to allow platform CI to cope with + ### a QEMU bug in the CPU hotplug code. Once the CI environment has + ### been updated to carry a fixed version of QEMU, this can be + ### removed again + ### + ### Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=4250 + ### + if (self.env.GetValue("QEMU_CPUHP_QUIRK").upper() == "TRUE"): + args += " -fw_cfg name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes" + if (self.env.GetValue("MAKE_STARTUP_NSH").upper() == "TRUE"): f = open(os.path.join(VirtualDrive, "startup.nsh"), "w") f.write("BOOT SUCCESS !!! \n")