Re: [PATCH edk2-platforms v2 0/3] JunoPkg: Fix AcpiSsdtRootPci.asl to use spaces and reserve ECAM area
Rebecca Cran
Could someone review these, and if they look good push them please?
toggle quoted messageShow quoted text
Thanks. Rebecca Cran
On 3/19/22 14:13, Rebecca Cran wrote:
I noticed Linux reports a firmware bug with the current Juno ACPI
|
|
Re: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg: Add missing libraries to [Components] in DSC
Michael Kubacki
Thanks for the review.
toggle quoted messageShow quoted text
Can you please merge this soon if there are no concerns?
On 3/23/2022 2:15 AM, Chiu, Chasel wrote:
Reviewed-by: Chasel Chiu <chasel.chiu@...>-----Original Message-----
|
|
Re: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/TestPointCheckLib: Fix mis-parsed HSTI structures
Michael Kubacki
Thanks for the review.
toggle quoted messageShow quoted text
Can you please merge this soon if there are no concerns?
On 3/23/2022 2:14 AM, Chiu, Chasel wrote:
Reviewed-by: Chasel Chiu <chasel.chiu@...>-----Original Message-----
|
|
Re: [PATCH v1 00/41] Add PrmPkg
Michael Kubacki
Since this is a new package, I am waiting for a steward to approve.
toggle quoted messageShow quoted text
Please let me know if you have any questions. Thanks, Michael
On 3/22/2022 12:19 PM, Michael Kubacki wrote:
From: Michael Kubacki <michael.kubacki@...>
|
|
[PATCH v1 6/6] UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib.
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Guo Dong <guo.dong@...> Cc: Ray Ni <ray.ni@...> Cc: Maurice Ma <maurice.ma@...> Cc: Benjamin You <benjamin.you@...> Cc: Sean Rhodes <sean@...> Signed-off-by: Yu Pu <yu.pu@...> --- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 1 + UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 1 + UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf | 1 + 3 files changed, 3 insertions(+) diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h b/UefiPaylo= adPkg/UefiPayloadEntry/UefiPayloadEntry.h index 56e0a4c639a0..d1c7425b28f2 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h @@ -23,6 +23,7 @@ #include <Library/PeCoffLib.h>=0D #include <Library/BlParseLib.h>=0D #include <Library/PlatformSupportLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D #include <IndustryStandard/Acpi.h>=0D #include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>=0D diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPay= loadPkg/UefiPayloadEntry/UefiPayloadEntry.inf index c4e4339ede4b..95446dd99729 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf @@ -54,6 +54,7 @@ HobLib=0D PeCoffLib=0D PlatformSupportLib=0D + CpuLib=0D UefiCpuLib=0D =0D [Guids]=0D diff --git a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf b/Ue= fiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf index 80af5afe0a3f..3b4836042a06 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf @@ -52,6 +52,7 @@ IoLib=0D HobLib=0D PeCoffLib=0D + CpuLib=0D UefiCpuLib=0D =0D [Guids]=0D --=20 2.30.0.windows.2
|
|
[PATCH v1 5/6] UefiCpuPkg: Add CpuLib to module INFs that depend on UefiCpuLib.
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Eric Dong <eric.dong@...> Cc: Ray Ni <ray.ni@...> Cc: Rahul Kumar <rahul1.kumar@...> Signed-off-by: Yu Pu <yu.pu@...> --- UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 1 + UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 1 + UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf | 1 + UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf | 1 + UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 1 + UefiCpuPkg/SecCore/SecCore.inf | 1 + UefiCpuPkg/SecCore/SecCoreNative.inf | 1 + UefiCpuPkg/SecCore/SecMain.h | 1 + 8 files changed, 8 insertions(+) diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c b/UefiCpuPkg/Li= brary/BaseXApicLib/BaseXApicLib.c index f9e06b2fca45..a944c3d01cf7 100644 --- a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c +++ b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c @@ -21,6 +21,7 @@ #include <Library/IoLib.h>=0D #include <Library/TimerLib.h>=0D #include <Library/PcdLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D =0D //=0D diff --git a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c b/U= efiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c index aaa42ff8450b..8b3630d7a302 100644 --- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c +++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c @@ -22,6 +22,7 @@ #include <Library/IoLib.h>=0D #include <Library/TimerLib.h>=0D #include <Library/PcdLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D =0D //=0D diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf b/UefiCpuPkg/= Library/BaseXApicLib/BaseXApicLib.inf index 561baa44b0e6..a85b69e0a11c 100644 --- a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf +++ b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf @@ -38,6 +38,7 @@ TimerLib=0D IoLib=0D PcdLib=0D + CpuLib=0D UefiCpuLib=0D =0D [Pcd]=0D diff --git a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf b= /UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf index 1e2a4f8b790f..31ebdd39c616 100644 --- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf +++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf @@ -38,6 +38,7 @@ TimerLib=0D IoLib=0D PcdLib=0D + CpuLib=0D UefiCpuLib=0D =0D [Pcd]=0D diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h b/UefiCpuPkg/PiSmmC= puDxeSmm/PiSmmCpuDxeSmm.h index aed872836c99..dfeceec2aadc 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h @@ -43,6 +43,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include <Library/UefiLib.h>=0D #include <Library/HobLib.h>=0D #include <Library/LocalApicLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D #include <Library/CpuExceptionHandlerLib.h>=0D #include <Library/ReportStatusCodeLib.h>=0D diff --git a/UefiCpuPkg/SecCore/SecCore.inf b/UefiCpuPkg/SecCore/SecCore.inf index ded83beb5272..f021997f271c 100644 --- a/UefiCpuPkg/SecCore/SecCore.inf +++ b/UefiCpuPkg/SecCore/SecCore.inf @@ -47,6 +47,7 @@ PlatformSecLib=0D PcdLib=0D DebugAgentLib=0D + CpuLib=0D UefiCpuLib=0D PeCoffGetEntryPointLib=0D PeCoffExtraActionLib=0D diff --git a/UefiCpuPkg/SecCore/SecCoreNative.inf b/UefiCpuPkg/SecCore/SecC= oreNative.inf index b528c5987947..e0a1b44a7e23 100644 --- a/UefiCpuPkg/SecCore/SecCoreNative.inf +++ b/UefiCpuPkg/SecCore/SecCoreNative.inf @@ -44,6 +44,7 @@ PlatformSecLib=0D PcdLib=0D DebugAgentLib=0D + CpuLib=0D UefiCpuLib=0D PeCoffGetEntryPointLib=0D PeCoffExtraActionLib=0D diff --git a/UefiCpuPkg/SecCore/SecMain.h b/UefiCpuPkg/SecCore/SecMain.h index 029bee3e7e40..189fcf932625 100644 --- a/UefiCpuPkg/SecCore/SecMain.h +++ b/UefiCpuPkg/SecCore/SecMain.h @@ -23,6 +23,7 @@ #include <Library/PcdLib.h>=0D #include <Library/BaseMemoryLib.h>=0D #include <Library/PlatformSecLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D #include <Library/PeCoffGetEntryPointLib.h>=0D #include <Library/PeCoffExtraActionLib.h>=0D --=20 2.30.0.windows.2
|
|
[PATCH v1 4/6] OvmfPkg: Add CpuLib to module INFs that depend on UefiCpuLib.
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Ard Biesheuvel <ardb+tianocore@...> Cc: Jiewen Yao <jiewen.yao@...> Cc: Jordan Justen <jordan.l.justen@...> Cc: Gerd Hoffmann <kraxel@...> Signed-off-by: Yu Pu <yu.pu@...> --- OvmfPkg/Sec/SecMain.c | 1 + OvmfPkg/Sec/SecMain.inf | 1 + 2 files changed, 2 insertions(+) diff --git a/OvmfPkg/Sec/SecMain.c b/OvmfPkg/Sec/SecMain.c index 2c5561661ef3..2c9e439800c7 100644 --- a/OvmfPkg/Sec/SecMain.c +++ b/OvmfPkg/Sec/SecMain.c @@ -17,6 +17,7 @@ #include <Library/BaseMemoryLib.h>=0D #include <Library/PeiServicesLib.h>=0D #include <Library/PcdLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D #include <Library/DebugAgentLib.h>=0D #include <Library/IoLib.h>=0D diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index 95cf0025e100..6ad366a89333 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -44,6 +44,7 @@ BaseMemoryLib=0D PeiServicesLib=0D PcdLib=0D + CpuLib=0D UefiCpuLib=0D DebugAgentLib=0D IoLib=0D --=20 2.30.0.windows.2
|
|
[PATCH v1 3/6] MdePkg: Add CpuLib to module INFs that depend on UefiCpuLib.
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Michael D Kinney <michael.d.kinney@...> Cc: Liming Gao <gaoliming@...> Cc: Zhiguang Liu <zhiguang.liu@...> Signed-off-by: Yu Pu <yu.pu@...> --- MdePkg/MdeLibs.dsc.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/MdePkg/MdeLibs.dsc.inc b/MdePkg/MdeLibs.dsc.inc index 3c70daf87a0c..322575090239 100644 --- a/MdePkg/MdeLibs.dsc.inc +++ b/MdePkg/MdeLibs.dsc.inc @@ -13,3 +13,4 @@ =0D [LibraryClasses]=0D RegisterFilterLib|MdePkg/Library/RegisterFilterLibNull/RegisterFilterLib= Null.inf=0D + CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf=0D --=20 2.30.0.windows.2
|
|
[PATCH v1 2/6] IntelFsp2WrapperPkg: Add CpuLib to module INFs that depend on UefiCpuLib.
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Chasel Chiu <chasel.chiu@...> Cc: Nate DeSimone <nathaniel.l.desimone@...> Cc: Star Zeng <star.zeng@...> Signed-off-by: Yu Pu <yu.pu@...> --- IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf | 1 + IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf | 1 + 2 files changed, 2 insertions(+) diff --git a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf b/Inte= lFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf index 5d0e0214015f..e2262d693c55 100644 --- a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf +++ b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf @@ -37,6 +37,7 @@ HobLib=0D FspWrapperPlatformLib=0D FspWrapperHobProcessLib=0D + CpuLib=0D UefiCpuLib=0D PeCoffGetEntryPointLib=0D PeCoffExtraActionLib=0D diff --git a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf b/Inte= lFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf index da0049a65435..0598f85ab3ac 100644 --- a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf +++ b/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf @@ -38,6 +38,7 @@ MemoryAllocationLib=0D FspWrapperPlatformLib=0D FspWrapperHobProcessLib=0D + CpuLib=0D UefiCpuLib=0D PeCoffGetEntryPointLib=0D PeCoffExtraActionLib=0D --=20 2.30.0.windows.2
|
|
[PATCH v1 1/6] IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib
Yu Pu <yu.pu@...>
Step 1 to merge UefiCpuLib to CpuLib.
Cc: Chasel Chiu <chasel.chiu@...> Cc: Nate DeSimone <nathaniel.l.desimone@...> Cc: Star Zeng <star.zeng@...> Signed-off-by: Yu Pu <yu.pu@...> --- IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf | 1 + IntelFsp2Pkg/FspSecCore/SecMain.h | 1 + 2 files changed, 2 insertions(+) diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf b/IntelFsp2Pkg/FspSecC= ore/FspSecCoreM.inf index 7b05cae64130..830471adcf2f 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf @@ -51,6 +51,7 @@ FspSwitchStackLib=0D FspCommonLib=0D FspSecPlatformLib=0D + CpuLib=0D UefiCpuLib=0D =0D [Pcd]=0D diff --git a/IntelFsp2Pkg/FspSecCore/SecMain.h b/IntelFsp2Pkg/FspSecCore/Se= cMain.h index 7794255af13d..edb7447d9eff 100644 --- a/IntelFsp2Pkg/FspSecCore/SecMain.h +++ b/IntelFsp2Pkg/FspSecCore/SecMain.h @@ -20,6 +20,7 @@ #include <Library/SerialPortLib.h>=0D #include <Library/FspSwitchStackLib.h>=0D #include <Library/FspCommonLib.h>=0D +#include <Library/CpuLib.h>=0D #include <Library/UefiCpuLib.h>=0D #include <FspEas.h>=0D =0D --=20 2.30.0.windows.2
|
|
[PATCH v1 0/6] Merge UefiCpuLib to CpuLib
Yu Pu <yu.pu@...>
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3394=0D
Today lots of duplicated code call CPUID and calculates the address mask. = =0D Adding an API named GetPhysicalAddressBits in UefiCpuLib can solve this =0D problem, but at the same time cause MdeModulePkg depend on UefiCpuPkg =0D which does not meet the design spec. So merge UefiCpuLib to CpuLib is a =0D good way to sovle these problems. To minimize the impact,this operation =0D is divided into four steps. This patch sets contain the first step: add=0D CpuLib to module INFs that depend on UefiCpuLib. Yu Pu (6): IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib IntelFsp2WrapperPkg: Add CpuLib to module INFs that depend on UefiCpuLib. MdePkg: Add CpuLib to module INFs that depend on UefiCpuLib. OvmfPkg: Add CpuLib to module INFs that depend on UefiCpuLib. UefiCpuPkg: Add CpuLib to module INFs that depend on UefiCpuLib. UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib. OvmfPkg/Sec/SecMain.c | 1 + UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 1 + UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 1 + IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf | 1 + IntelFsp2Pkg/FspSecCore/SecMain.h | 1 + IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf | 1 + IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf | 1 + MdePkg/MdeLibs.dsc.inc | 1 + OvmfPkg/Sec/SecMain.inf | 1 + UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf | 1 + UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf | 1 + UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 1 + UefiCpuPkg/SecCore/SecCore.inf | 1 + UefiCpuPkg/SecCore/SecCoreNative.inf | 1 + UefiCpuPkg/SecCore/SecMain.h | 1 + UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 1 + UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 1 + UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf | 1 + 18 files changed, 18 insertions(+) --=20 2.30.0.windows.2
|
|
Re: [PATCH v1 00/15] Merge UefiCpuLib to CpuLib
RISC-V port will follow this implementation.
toggle quoted messageShow quoted text
Acked-by: Abner Chang <abner.chang@...>
-----Original Message-----
|
|
Re: [PATCH] UefiPayloadPkg: Change some configuration of the payload
Sheng Lean Tan
Reviewed-by: Lean Sheng Tan <sheng.tan@...>
|
|
Re: [PATCH] UefiPayloadPkg: Change some configuration of the payload
Ni, Ray
Thanks for the explanation.
toggle quoted messageShow quoted text
Reviewed-by: Ray Ni <ray.ni@...>
-----Original Message-----
|
|
Re: [PATCH v1 1/1] OvmfPkg: Add dependency of VariableSmm driver to make it work normally.
Yao, Jiewen
Reviewed-by: Jiewen Yao <Jiewen.yao@...>
toggle quoted messageShow quoted text
Is this a standalone patch? Or one of a series patch? I think it should be later. But, please enlighten me.
-----Original Message-----
|
|
Re: [PATCH] UefiPayloadPkg: Change some configuration of the payload
Yuanhao Xie
Hi Ray,
toggle quoted messageShow quoted text
The reason why we use PeiDxeDebugLibReportStatusCode instead of BaseDebugLibSerialPort is that Base Debug library is based on Serial Port library, and it can only send debug messages to serial port device, while SerialPort supports to print debug msg in other places. Thanks Yuanhao
-----Original Message-----
From: Ni, Ray <ray.ni@...> Sent: Friday, April 1, 2022 10:05 AM To: Xie, Yuanhao <yuanhao.xie@...>; devel@edk2.groups.io Cc: Dong, Guo <guo.dong@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...>; Rhodes, Sean <sean@...>; Liu, Zhiguang <zhiguang.liu@...> Subject: RE: [PATCH] UefiPayloadPkg: Change some configuration of the payload If DxeCore uses the ReportStatusCode instance, some debug messages may disappear comparing to the case using SerialPort instance. Because the ReportStatusCode driver runs a bit later. Is it for saving the payload binary size?
|
|
[PATCH] MdeModulePkg/FaultTolerantWriteDxe: Don't check for address alignment
Sean Rhodes
WorkSpaceAddress and SpareAreaAddress point into MMIO, which isn't
always aligned. Remove the check for block alignment to avoid false assertions. Cc: Jian J Wang <jian.j.wang@...> Cc: Hao A Wu <hao.a.wu@...> Cc: Liming Gao <gaoliming@...> Signed-off-by: Sean Rhodes <sean@...> Change-Id: Ia1c1f44b6a0e7f32cac0d7806e74d729e5d83a6d --- .../Universal/FaultTolerantWriteDxe/FtwMisc.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FtwMisc.c b/MdeMo= dulePkg/Universal/FaultTolerantWriteDxe/FtwMisc.c index 661e148767..3b9ff1c828 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FtwMisc.c +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FtwMisc.c @@ -1121,12 +1121,10 @@ FindFvbForFtw ( FtwDevice->NumberOfWorkSpaceBlock =3D FTW_BLOCKS (FtwDevice->Ftw= WorkSpaceBase + FtwDevice->FtwWorkSpaceSize, FtwDevice->WorkBlockSize);=0D if (FtwDevice->FtwWorkSpaceSize >=3D FtwDevice->WorkBlockSize) {= =0D //=0D - // Check the alignment of work space address and length, they = should be block size aligned when work space size is larger than one block = size.=0D + // Check the alignment of work space length, it should be bloc= k size aligned when work space size is larger than one block size.=0D //=0D - if (((FtwDevice->WorkSpaceAddress & (FtwDevice->WorkBlockSize = - 1)) !=3D 0) ||=0D - ((FtwDevice->WorkSpaceLength & (FtwDevice->WorkBlockSize -= 1)) !=3D 0))=0D - {=0D - DEBUG ((DEBUG_ERROR, "Ftw: Work space address or length is n= ot block size aligned when work space size is larger than one block size\n"= ));=0D + if ((FtwDevice->WorkSpaceLength & (FtwDevice->WorkBlockSize - = 1)) !=3D 0) {=0D + DEBUG ((EFI_D_ERROR, "Ftw: Work space length is not block si= ze aligned when work space size is larger than one block size\n"));=0D FreePool (HandleBuffer);=0D ASSERT (FALSE);=0D return EFI_ABORTED;=0D @@ -1171,12 +1169,10 @@ FindFvbForFtw ( }=0D =0D //=0D - // Check the alignment of spare area address and length, they sh= ould be block size aligned=0D + // Check the alignment of spare area length, it should be block = size aligned=0D //=0D - if (((FtwDevice->SpareAreaAddress & (FtwDevice->SpareBlockSize -= 1)) !=3D 0) ||=0D - ((FtwDevice->SpareAreaLength & (FtwDevice->SpareBlockSize - = 1)) !=3D 0))=0D - {=0D - DEBUG ((DEBUG_ERROR, "Ftw: Spare area address or length is not= block size aligned\n"));=0D + if ((FtwDevice->SpareAreaLength & (FtwDevice->SpareBlockSize - 1= )) !=3D 0) {=0D + DEBUG ((EFI_D_ERROR, "Ftw: Spare area address or length is not= block size aligned\n"));=0D FreePool (HandleBuffer);=0D //=0D // Report Status Code EFI_SW_EC_ABORTED.=0D --=20 2.32.0
|
|
[PATCH-V2] Fix Setup numeric default value incorrect issue
Chen Lin Z
When default/manufacturing flag get removed from numeric varid, it can't
get default value from StructurePcd in 'UpdateDefaultSettingInFormPackage' function since there is no EFI_IFR_DEFAULT_OP opcode in IFR file. Add a chance to get numeric default value from StructurePcd in the case that numeric minimum value will be used as default value. Signed-off-by: Chen Lin Z <lin.z.chen@...> Signed-off-by: Dandan Bi <dandan.bi@...> --- .../Universal/HiiDatabaseDxe/ConfigRouting.c | 22 ++++++++++++++++++ .../Universal/HiiDatabaseDxe/HiiDatabase.h | 23 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeMod= ulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c index 2f792d2965..1c6af853b3 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c @@ -2171,6 +2171,7 @@ ParseIfrData ( UINTN PackageOffset;=0D EFI_IFR_VARSTORE *IfrVarStore;=0D EFI_IFR_VARSTORE_EFI *IfrEfiVarStore;=0D + EFI_IFR_VARSTORE_EFI *IfrEfiVarStoreTmp;=0D EFI_IFR_OP_HEADER *IfrOpHdr;=0D EFI_IFR_ONE_OF *IfrOneOf;=0D EFI_IFR_REF4 *IfrRef;=0D @@ -2187,6 +2188,7 @@ ParseIfrData ( IFR_BLOCK_DATA *BlockData;=0D CHAR16 *VarStoreName;=0D UINTN NameSize;=0D + UINTN NvDefaultStoreSize;=0D UINT16 VarWidth;=0D UINT16 VarDefaultId;=0D BOOLEAN FirstOneOfOption;=0D @@ -2212,6 +2214,7 @@ ParseIfrData ( SmallestDefaultId =3D 0xFFFF;=0D FromOtherDefaultOpcode =3D FALSE;=0D QuestionReferBitField =3D FALSE;=0D + IfrEfiVarStoreTmp =3D NULL;=0D =0D //=0D // Go through the form package to parse OpCode one by one.=0D @@ -2303,6 +2306,17 @@ ParseIfrData ( }=0D =0D AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name, VarStoreName= , NameSize);=0D + if (IfrEfiVarStoreTmp !=3D NULL) {=0D + FreePool (IfrEfiVarStoreTmp);=0D + }=0D + IfrEfiVarStoreTmp =3D AllocatePool (IfrEfiVarStore->Header.Length = + AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name));=0D + if (IfrEfiVarStoreTmp =3D=3D NULL) {=0D + Status =3D EFI_OUT_OF_RESOURCES;=0D + goto Done;=0D + }=0D +=0D + CopyMem (IfrEfiVarStoreTmp, IfrEfiVarStore, IfrEfiVarStore->Header= .Length);=0D + AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name, (CHAR16 *)&(= IfrEfiVarStoreTmp->Name[0]), AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name) *= sizeof (CHAR16));=0D =0D if (IsThisVarstore (&IfrEfiVarStore->Guid, VarStoreName, ConfigHdr= )) {=0D //=0D @@ -2502,9 +2516,13 @@ ParseIfrData ( //=0D // Set default value base on the DefaultId list get from IFR dat= a.=0D //=0D + NvDefaultStoreSize =3D PcdGetSize (PcdNvStoreDefaultValueBuffer)= ;=0D for (LinkData =3D DefaultIdArray->Entry.ForwardLink; LinkData != =3D &DefaultIdArray->Entry; LinkData =3D LinkData->ForwardLink) {=0D DefaultDataPtr =3D BASE_CR (LinkData, IFR_DEFAULT_DATA,= Entry);=0D DefaultData.DefaultId =3D DefaultDataPtr->DefaultId;=0D + if (NvDefaultStoreSize > sizeof (PCD_NV_STORE_DEFAULT_BUFFER_H= EADER)) {=0D + FindQuestionDefaultSetting (DefaultData.DefaultId, IfrEfiVar= StoreTmp, &(IfrOneOf->Question), &DefaultData.Value, VarWidth, QuestionRefe= rBitField);=0D + }=0D InsertDefaultValue (BlockData, &DefaultData);=0D }=0D }=0D @@ -3192,6 +3210,10 @@ Done: }=0D }=0D =0D + if (IfrEfiVarStoreTmp !=3D NULL) {=0D + FreePool (IfrEfiVarStoreTmp);=0D + }=0D +=0D return Status;=0D }=0D =0D diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h b/MdeModul= ePkg/Universal/HiiDatabaseDxe/HiiDatabase.h index c4ca6ad6ee..421c293cfc 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h @@ -2308,6 +2308,29 @@ HiiGetConfigRespInfo ( IN CONST EFI_HII_DATABASE_PROTOCOL *This=0D );=0D =0D +/**=0D + Find question default value from PcdNvStoreDefaultValueBuffer=0D +=0D + @param DefaultId Default store ID=0D + @param EfiVarStore Point to EFI VarStore header=0D + @param IfrQuestionHdr Point to Question header=0D + @param ValueBuffer Point to Buffer includes the found default set= ting=0D + @param Width Width of the default value=0D + @param BitFieldQuestion Whether the Question is stored in Bit field.=0D +=0D + @retval EFI_SUCCESS Question default value is found.=0D + @retval EFI_NOT_FOUND Question default value is not found.=0D +**/=0D +EFI_STATUS=0D +FindQuestionDefaultSetting (=0D + IN UINT16 DefaultId,=0D + IN EFI_IFR_VARSTORE_EFI *EfiVarStore,=0D + IN EFI_IFR_QUESTION_HEADER *IfrQuestionHdr,=0D + OUT VOID *ValueBuffer,=0D + IN UINTN Width,=0D + IN BOOLEAN BitFieldQuestion=0D + );=0D +=0D //=0D // Global variables=0D //=0D --=20 2.25.1
|
|
Re: EDK2 CI Broken
Michael D Kinney
Thank you raising this issue.
We will investigate.
Mike
From: Xu, Min M <min.m.xu@...>
Sent: Thursday, March 31, 2022 6:43 PM To: Kinney, Michael D <michael.d.kinney@...>; devel@edk2.groups.io; sean.brogan@... Cc: Yao, Jiewen <jiewen.yao@...> Subject: RE: EDK2 CI Broken
Hi, Sean Do you have some suggestion for this CI failure?
From: Xu, Min M <min.m.xu@...>
Hi, The EDK2 CI seems broken from yesterday. PR failed with the errors at “Update” and “Copy base tools build log”.
/opt/hostedtoolcache/Python/3.9.12/x64/bin/stuart_update -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=GCC5 -t DEBUG -a AARCH64 (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr (node:2764) Warning: Use Cipheriv for counter mode of aes-256-ctr SECTION - Init SDE SECTION - Loading Plugins SECTION - Start Invocable Tool SECTION - Initial update of environment Updating... Done Traceback (most recent call last): File "/opt/hostedtoolcache/Python/3.9.12/x64/bin/stuart_update", line 8, in <module> sys.exit(main()) File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/invocables/edk2_update.py", line 101, in main Edk2Update().Invoke() File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/base_abstract_invocable.py", line 146, in Invoke retcode = self.Go() File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/invocables/edk2_update.py", line 71, in Go (build_env_old, shell_env_old, _) = self.PerformUpdate() File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/invocables/edk2_update.py", line 41, in PerformUpdate (success, failure) = self_describing_environment.UpdateDependencies(ws_root, scopes, skipped_dirs) File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/environment/self_describing_environment.py", line 364, in UpdateDependencies return build_env.update_extdeps(shell_env) File "/opt/hostedtoolcache/Python/3.9.12/x64/lib/python3.9/site-packages/edk2toolext/environment/self_describing_environment.py", line 277, in update_extdeps results = pool_handle.get()
|
|
[Patch V2] NetworkPkg: Add PCDs for HTTP DNS RetryCount and RetryInterval
Heng Luo
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3889
Currently the HTTP DNS Retry Interval is 2 second and no retry attempt. If DNS response can't arrive in 2 second, the DNS request is failed, and then HTTP boot is failed. In order to resolve this issue, Add PCDs to support RetryCount and RetryInterval configurated in Platform. Cc: Maciej Rabeda <maciej.rabeda@...> Cc: Fu Siyuan <siyuan.fu@...> Cc: Wu Jiaxin <jiaxin.wu@...> Signed-off-by: Heng Luo <heng.luo@...> --- NetworkPkg/HttpDxe/HttpDns.c | 4 ++++ NetworkPkg/HttpDxe/HttpDxe.inf | 2 ++ NetworkPkg/NetworkPkg.dec | 9 +++++++++ NetworkPkg/NetworkPkg.uni | 11 +++++++++++ 4 files changed, 26 insertions(+) diff --git a/NetworkPkg/HttpDxe/HttpDns.c b/NetworkPkg/HttpDxe/HttpDns.c index 59a2784e6a..e609aba519 100644 --- a/NetworkPkg/HttpDxe/HttpDns.c +++ b/NetworkPkg/HttpDxe/HttpDns.c @@ -108,6 +108,8 @@ HttpDns4 ( Dns4CfgData.DnsServerListCount = DnsServerListCount; Dns4CfgData.DnsServerList = DnsServerList; Dns4CfgData.UseDefaultSetting = HttpInstance->IPv4Node.UseDefaultAddress; + Dns4CfgData.RetryInterval = PcdGet32 (PcdHttpDnsRetryInterval); + Dns4CfgData.RetryCount = PcdGet32 (PcdHttpDnsRetryCount); if (!Dns4CfgData.UseDefaultSetting) { IP4_COPY_ADDRESS (&Dns4CfgData.StationIp, &HttpInstance->IPv4Node.LocalAddress); IP4_COPY_ADDRESS (&Dns4CfgData.SubnetMask, &HttpInstance->IPv4Node.LocalSubnet); @@ -316,6 +318,8 @@ HttpDns6 ( Dns6ConfigData.EnableDnsCache = TRUE; Dns6ConfigData.Protocol = EFI_IP_PROTO_UDP; IP6_COPY_ADDRESS (&Dns6ConfigData.StationIp, &HttpInstance->Ipv6Node.LocalAddress); + Dns6ConfigData.RetryInterval = PcdGet32 (PcdHttpDnsRetryInterval); + Dns6ConfigData.RetryCount = PcdGet32 (PcdHttpDnsRetryCount); Status = Dns6->Configure ( Dns6, &Dns6ConfigData diff --git a/NetworkPkg/HttpDxe/HttpDxe.inf b/NetworkPkg/HttpDxe/HttpDxe.inf index af681c0184..c9502d0bb6 100644 --- a/NetworkPkg/HttpDxe/HttpDxe.inf +++ b/NetworkPkg/HttpDxe/HttpDxe.inf @@ -75,6 +75,8 @@ [Pcd] gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections ## CONSUMES gEfiNetworkPkgTokenSpaceGuid.PcdHttpIoTimeout ## CONSUMES + gEfiNetworkPkgTokenSpaceGuid.PcdHttpDnsRetryInterval ## CONSUMES + gEfiNetworkPkgTokenSpaceGuid.PcdHttpDnsRetryCount ## CONSUMES [UserExtensions.TianoCore."ExtraFiles"] HttpDxeExtra.uni diff --git a/NetworkPkg/NetworkPkg.dec b/NetworkPkg/NetworkPkg.dec index 928e84fec4..5e43ebf8c5 100644 --- a/NetworkPkg/NetworkPkg.dec +++ b/NetworkPkg/NetworkPkg.dec @@ -163,5 +163,14 @@ # @Prompt The Timeout value of HTTP Io. Default value is 5000. gEfiNetworkPkgTokenSpaceGuid.PcdHttpIoTimeout|5000|UINT32|0x0000000F + ## The Retry Interval of HTTP DNS in seconds. If the Retry Interval is less than + # DNS_DEFAULT_TIMEOUT, then use the DNS_DEFAULT_TIMEOUT. + # @Prompt The value of Retry Interval. Default value is 0 + gEfiNetworkPkgTokenSpaceGuid.PcdHttpDnsRetryInterval|0|UINT32|0x00000010 + + ## The Retry Count of HTTP DNS if no DNS response received after Retry Interval. + # @Prompt The value of Retry Count, Default value is 0. + gEfiNetworkPkgTokenSpaceGuid.PcdHttpDnsRetryCount|0|UINT32|0x00000011 + [UserExtensions.TianoCore."ExtraFiles"] NetworkPkgExtra.uni diff --git a/NetworkPkg/NetworkPkg.uni b/NetworkPkg/NetworkPkg.uni index 6d0fa67c6f..c0bbbd3ee1 100644 --- a/NetworkPkg/NetworkPkg.uni +++ b/NetworkPkg/NetworkPkg.uni @@ -111,3 +111,14 @@ #string STR_gEfiNetworkPkgTokenSpaceGuid_PcdHttpIoTimeout_HELP #language en-US "This value is used to configure the request and response timeout when getting " "the recovery image from the remote source during an HTTP recovery boot." "The default value set is 5 seconds." + +#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdHttpDnsRetryInterval_PROMPT #language en-US "Retry Interval of HTTP DNS" + +#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdHttpDnsRetryInterval_HELP #language en-US "This value is used to configure the retry Interval of HTTP DNS." + "The default value set is 0 second. If the value is less than" + "DNS_DEFAULT_TIMEOUT, then use the DNS_DEFAULT_TIMEOUT." + +#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdHttpDnsRetryCount_PROMPT #language en-US "Retry Count of HTTP DNS" + +#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdHttpDnsRetryCount_HELP #language en-US "This value is used to configure the Retry Count of HTTP DNS if " + "no DNS response received after Retry Interval. The default value set is 0." -- 2.31.1.windows.1
|
|