From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web10.50615.1674147074061972079 for ; Thu, 19 Jan 2023 08:51:14 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=KFVYCGoB; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from [192.168.4.22] (unknown [47.201.8.94]) by linux.microsoft.com (Postfix) with ESMTPSA id 4367620E09F5; Thu, 19 Jan 2023 08:51:12 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 4367620E09F5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1674147073; bh=3XFI0k4vDdBB9TjcrvVFgre0E419QbuiPPORhvtFPVo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=KFVYCGoB5yE2bFQoUsbTdUvEOPbaVatsG4otWT/7Gxcpm+FnoKrDCUDse+YVpoEh/ bO1gBK/MbOAC+9vYM21WeAADdqpxMWtBr7ckfO5+PY5DFTaKd+ao8AmcKCVgUsGBvJ pYdk/C1GAMHpso3U8Ay2p5+pVeBCgvymFxaidRz0= Message-ID: Date: Thu, 19 Jan 2023 11:51:10 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [edk2-devel] [RFC PATCH] OvmfPkg/PlatformCI VS2019: Enable temporary workaround for cpuhp bugfix To: devel@edk2.groups.io, ardb@kernel.org Cc: Laszlo Ersek , Gerd Hoffmann , Jiewen Yao , Michael Brown , Oliver Steffen , Michael Kubacki References: <20230119134302.1524569-1-ardb@kernel.org> From: "Michael Kubacki" In-Reply-To: <20230119134302.1524569-1-ardb@kernel.org> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Reviewed-by: Michael Kubacki On 1/19/2023 8:43 AM, Ard Biesheuvel wrote: > QEMU for x86 has a nasty CPU hotplug bug of which the ramifications are > > difficult to oversee, even though KVM acceleration seems to be > > unaffected. This has been addressed in QEMU mainline, and will percolate > > through the ecosystem at its usual pace. In the mean time, due to the > > potential impact on production workloads, we will be updating OVMF to > > abort the boot when it detects a QEMU build that is affected. > > > > Tiancore's platform CI uses QEMU in TCG mode, and is therefore impacted > > by this mitigation, unless its QEMU builds are updated. This has been > > done for Ubuntu-GCC5, but Windows-VS2019 still uses a QEMU build that is > > affected. > > > > Aborting the boot upon detecting the QEMU issue will render all boot > > tests carried out on Windows-VS2019 broken unless we implement the > > 'escape hatch' that enables proceed-at-your-own-risk mode, and permits > > the boot to proceed even if the QEMU issue is detected. > > > > So let's enable this for Windows-VS2019, and remove it again once it is > > no longer needed. > > > > Cc: Laszlo Ersek > > Cc: Gerd Hoffmann > > Cc: Jiewen Yao > > Cc: Michael Brown > > Cc: Oliver Steffen > > Cc: Michael Kubacki > > > > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=4250 > > Signed-off-by: Ard Biesheuvel > > --- > > OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml | 2 +- > > OvmfPkg/PlatformCI/PlatformBuildLib.py | 12 ++++++++++++ > > 2 files changed, 13 insertions(+), 1 deletion(-) > > > > diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml > > index 7e63f419b26b..b3b91aa84ea0 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 bfef9849c749..58dc1189a2cc 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") >