This moves all platforms in OpenPlatformPkg to ArmBaseLib, which replaces all previously existing variants of ArmLib.
I have build tested each of them, and boot tested the ones I can test (FVP and Overdrive).
I picked up some fixes for D02/D03 along the way. These are listed first (#1 - #4), #1 is required to fix the build, #5 is required since ArmBaseLib no longer pulls in MemoryAllocationLib. #2 and #3 are optional, but useful improvements nonetheless. #5 does the ArmBaseLib switch itself for D02/D03
Patches #6 to #9 replace all ArmLib references to ArmBaseLib in the remaining platforms.
NOTE: This series combines with my armlib-cleanup branch [0], which deviates from the v1 I sent out today. When testing these patches, please use this branch; it will be the basis of my v2 submission once we have confirmed that everything works as expected. This series can be found here [1]
[0] https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/hea... [1] https://git.linaro.org/uefi/OpenPlatformPkg.git/shortlog/refs/heads/armlib-c...
Ard Biesheuvel (9): Hisilicon/D0x: remove UEFI_APPLICATION BuildOptions override Hisilicon/D0x: get rid of EDK2_SKIP_PEICORE Hisilicon/D0x: get rid of APRIORI declarations Hisilicon/IoInitDxe: add hidden dependency on MemoryAllocationLib to .inf Hisilicon/D0x: switch to ArmBaseLib BeagleBoardPkg Omap35xxPkg: switch to ArmBaseLib AMD/Styx: switch to ArmBaseLib Platforms/ARM: switch to ArmBaseLib Marvell/Armada: switch to ArmBaseLib
Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf | 1 + Chips/Hisilicon/Pv660/Pv660.dsc.inc | 12 ------ Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc | 2 +- Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc | 3 +- Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc | 3 +- Platforms/ARM/Juno/ArmJuno.dsc | 7 +--- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 3 +- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 4 +- Platforms/Hisilicon/D02/Pv660D02.dsc | 34 +++++------------ Platforms/Hisilicon/D02/Pv660D02.fdf | 11 ------ Platforms/Hisilicon/D03/D03.dsc | 39 +++++--------------- Platforms/Hisilicon/D03/D03.fdf | 11 ------ Platforms/Marvell/Armada/Armada.dsc.inc | 4 +- Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc | 4 +- 14 files changed, 27 insertions(+), 111 deletions(-)
Now that we switched to the small code model unconditionally when using GCC in DEBUG mode, we no longer need the BuildOptions override.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/Hisilicon/D03/D03.dsc | 5 ----- 1 file changed, 5 deletions(-)
diff --git a/Platforms/Hisilicon/D03/D03.dsc b/Platforms/Hisilicon/D03/D03.dsc index 306e170f31be..30a1e6a8bb52 100644 --- a/Platforms/Hisilicon/D03/D03.dsc +++ b/Platforms/Hisilicon/D03/D03.dsc @@ -94,11 +94,6 @@ [BuildOptions] GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM -I$(WORKSPACE)/OpenPlatformPkg/Chips/Hisilicon/Hi1610/Include
-[BuildOptions.AARCH64.EDKII.UEFI_APPLICATION] - GCC:*_*_*_CC_FLAGS = -mcmodel=small -falign-functions=16 - GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 --sort-section=alignment - - ################################################################################ # # Pcd Section - list of all EDK II PCD Entries defined by this Platform
The D02 and D03 platforms perform non-trivial operations in their PEI phases, and on top of that, the definitions inside !ifdef EDK2_SKIP_PEICORE blocks are very much out of date. So simply remove EDK2_SKIP_PEICORE and everything that depends on it.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Chips/Hisilicon/Pv660/Pv660.dsc.inc | 12 ----------- Platforms/Hisilicon/D02/Pv660D02.dsc | 21 -------------------- Platforms/Hisilicon/D02/Pv660D02.fdf | 4 ---- Platforms/Hisilicon/D03/D03.dsc | 21 -------------------- Platforms/Hisilicon/D03/D03.fdf | 4 ---- 5 files changed, 62 deletions(-)
diff --git a/Chips/Hisilicon/Pv660/Pv660.dsc.inc b/Chips/Hisilicon/Pv660/Pv660.dsc.inc index 029608ceeb78..5c38fb42f5ca 100644 --- a/Chips/Hisilicon/Pv660/Pv660.dsc.inc +++ b/Chips/Hisilicon/Pv660/Pv660.dsc.inc @@ -135,18 +135,6 @@
DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
-!if $(EDK2_SKIP_PEICORE) == 1 - PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf - ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf - LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf - MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf - HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf - PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf - PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf - PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf - MemoryInitPeiLib|OpenPlatformPkg/Chips/Hisilicon/Override/ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf -!endif - # Trustzone Support ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
diff --git a/Platforms/Hisilicon/D02/Pv660D02.dsc b/Platforms/Hisilicon/D02/Pv660D02.dsc index b9ccfd40acf2..1252d87d0a63 100644 --- a/Platforms/Hisilicon/D02/Pv660D02.dsc +++ b/Platforms/Hisilicon/D02/Pv660D02.dsc @@ -28,7 +28,6 @@ BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT FLASH_DEFINITION = OpenPlatformPkg/Platforms/Hisilicon/D02/$(PLATFORM_NAME).fdf - DEFINE EDK2_SKIP_PEICORE=0 DEFINE INCLUDE_TFTP_COMMAND=1
!include OpenPlatformPkg/Chips/Hisilicon/Pv660/Pv660.dsc.inc @@ -92,11 +91,6 @@
[PcdsFeatureFlag.common]
-!if $(EDK2_SKIP_PEICORE) == 1 - gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE - gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE -!endif - ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. # It could be set FALSE to save size. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE @@ -272,20 +266,6 @@ # # PEI Phase modules # -!if $(EDK2_SKIP_PEICORE) == 1 - ArmPlatformPkg/PrePi/PeiMPCore.inf { - <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf - ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf - ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf - } - ArmPlatformPkg/PrePi/PeiUniCore.inf { - <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf - ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf - ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf - } -!else ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf MdeModulePkg/Core/Pei/PeiMain.inf MdeModulePkg/Universal/PCD/Pei/Pcd.inf @@ -302,7 +282,6 @@ <LibraryClasses> NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf } -!endif
# # DXE diff --git a/Platforms/Hisilicon/D02/Pv660D02.fdf b/Platforms/Hisilicon/D02/Pv660D02.fdf index bb169924384e..ff1e2e743e59 100644 --- a/Platforms/Hisilicon/D02/Pv660D02.fdf +++ b/Platforms/Hisilicon/D02/Pv660D02.fdf @@ -305,9 +305,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
-!if $(EDK2_SKIP_PEICORE) == 1 - INF ArmPlatformPkg/PrePi/PeiMPCore.inf -!else APRIORI PEI { INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf } @@ -322,7 +319,6 @@ READ_LOCK_STATUS = TRUE
INF OpenPlatformPkg/Platforms/Hisilicon/D02/EarlyConfigPeim/EarlyConfigPeim.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf -!endif
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { diff --git a/Platforms/Hisilicon/D03/D03.dsc b/Platforms/Hisilicon/D03/D03.dsc index 30a1e6a8bb52..e028432e2221 100644 --- a/Platforms/Hisilicon/D03/D03.dsc +++ b/Platforms/Hisilicon/D03/D03.dsc @@ -28,7 +28,6 @@ BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT FLASH_DEFINITION = OpenPlatformPkg/Platforms/Hisilicon/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf - DEFINE EDK2_SKIP_PEICORE=0 DEFINE INCLUDE_TFTP_COMMAND=1
!include OpenPlatformPkg/Chips/Hisilicon/Pv660/Pv660.dsc.inc @@ -102,11 +101,6 @@
[PcdsFeatureFlag.common]
-!if $(EDK2_SKIP_PEICORE) == 1 - gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE - gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE -!endif - ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. # It could be set FALSE to save size. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE @@ -323,20 +317,6 @@ # # PEI Phase modules # -!if $(EDK2_SKIP_PEICORE) == 1 - ArmPlatformPkg/PrePi/PeiMPCore.inf { - <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf - ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf - ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf - } - ArmPlatformPkg/PrePi/PeiUniCore.inf { - <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf - ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf - ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf - } -!else ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf MdeModulePkg/Core/Pei/PeiMain.inf MdeModulePkg/Universal/PCD/Pei/Pcd.inf @@ -357,7 +337,6 @@ <LibraryClasses> NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf } -!endif
# # DXE diff --git a/Platforms/Hisilicon/D03/D03.fdf b/Platforms/Hisilicon/D03/D03.fdf index dce098dfccaf..7aba0aa850f5 100644 --- a/Platforms/Hisilicon/D03/D03.fdf +++ b/Platforms/Hisilicon/D03/D03.fdf @@ -317,9 +317,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
-!if $(EDK2_SKIP_PEICORE) == 1 - INF ArmPlatformPkg/PrePi/PeiMPCore.inf -!else APRIORI PEI { INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf } @@ -340,7 +337,6 @@ READ_LOCK_STATUS = TRUE INF OpenPlatformPkg/Platforms/Hisilicon/D03/EarlyConfigPeim/EarlyConfigPeimD03.inf
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf -!endif
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
APRIORI declarations completely bypass the ordinary dependency based dynamic dispatch of PEIMs and DXE_DRIVERs, and so should be avoided if possible. The reason Pcd.inf requires it in this case is because it has a circular dependency on itself due to its dependency on PcdLib, which resolves to a library class resolution that introduces a dependency on a protocol Pcd.inf produces itself (or a PPI in case of the PEIM version).
So override the PcdLib resolution for Pcd.inf to the Null PcdLib version, which does not introduce this protocol dependency. This allows us to simply remove the APRIOR PEI|DXE declarations.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/Hisilicon/D02/Pv660D02.dsc | 10 ++++++++-- Platforms/Hisilicon/D02/Pv660D02.fdf | 7 ------- Platforms/Hisilicon/D03/D03.dsc | 10 ++++++++-- Platforms/Hisilicon/D03/D03.fdf | 7 ------- 4 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/Platforms/Hisilicon/D02/Pv660D02.dsc b/Platforms/Hisilicon/D02/Pv660D02.dsc index 1252d87d0a63..2a66796c8de1 100644 --- a/Platforms/Hisilicon/D02/Pv660D02.dsc +++ b/Platforms/Hisilicon/D02/Pv660D02.dsc @@ -268,7 +268,10 @@ # ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf MdeModulePkg/Core/Pei/PeiMain.inf - MdeModulePkg/Universal/PCD/Pei/Pcd.inf + MdeModulePkg/Universal/PCD/Pei/Pcd.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + } ArmPlatformPkg/PlatformPei/PlatformPeim.inf OpenPlatformPkg/Platforms/Hisilicon/Binary/D02/MemoryInitPei/MemoryInitPeim.inf ArmPkg/Drivers/CpuPei/CpuPei.inf @@ -290,7 +293,10 @@ <LibraryClasses> NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf } - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf + MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + }
OpenPlatformPkg/Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf
diff --git a/Platforms/Hisilicon/D02/Pv660D02.fdf b/Platforms/Hisilicon/D02/Pv660D02.fdf index ff1e2e743e59..69be1f1bbc25 100644 --- a/Platforms/Hisilicon/D02/Pv660D02.fdf +++ b/Platforms/Hisilicon/D02/Pv660D02.fdf @@ -144,10 +144,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
- APRIORI DXE { - INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf - } - INF MdeModulePkg/Core/Dxe/DxeMain.inf INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
@@ -305,9 +301,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
- APRIORI PEI { - INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf - } INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf INF MdeModulePkg/Core/Pei/PeiMain.inf INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf diff --git a/Platforms/Hisilicon/D03/D03.dsc b/Platforms/Hisilicon/D03/D03.dsc index e028432e2221..e60b99d30505 100644 --- a/Platforms/Hisilicon/D03/D03.dsc +++ b/Platforms/Hisilicon/D03/D03.dsc @@ -319,7 +319,10 @@ # ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf MdeModulePkg/Core/Pei/PeiMain.inf - MdeModulePkg/Universal/PCD/Pei/Pcd.inf + MdeModulePkg/Universal/PCD/Pei/Pcd.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + } OpenPlatformPkg/Platforms/Hisilicon/Binary/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
ArmPlatformPkg/PlatformPei/PlatformPeim.inf @@ -345,7 +348,10 @@ <LibraryClasses> NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf } - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf + MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { + <LibraryClasses> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + }
OpenPlatformPkg/Chips/Hisilicon/Hi1610/Drivers/IoInitDxe/IoInitDxe.inf
diff --git a/Platforms/Hisilicon/D03/D03.fdf b/Platforms/Hisilicon/D03/D03.fdf index 7aba0aa850f5..8144151195ae 100644 --- a/Platforms/Hisilicon/D03/D03.fdf +++ b/Platforms/Hisilicon/D03/D03.fdf @@ -146,10 +146,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
- APRIORI DXE { - INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf - } - INF MdeModulePkg/Core/Dxe/DxeMain.inf INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
@@ -317,9 +313,6 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
- APRIORI PEI { - INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf - } INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf INF MdeModulePkg/Core/Pei/PeiMain.inf INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
IoInitDxe uses the MemoryAllocationLib API, but does not declare it in its .inf file. This will cause breakage when this dependency is no longer fulfilled indirectly via another library, so make it explicit by adding it to the .inf.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf | 1 + 1 file changed, 1 insertion(+)
diff --git a/Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf b/Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf index 6e19068c2bba..a429cf38c7fb 100644 --- a/Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf +++ b/Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf @@ -41,6 +41,7 @@ CacheMaintenanceLib SerdesLib PlatformSysCtrlLib + MemoryAllocationLib
[Guids]
Replace all references to the various ArmLib flavors with ArmBaseLib, which can substitute for all of them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/Hisilicon/D02/Pv660D02.dsc | 3 +-- Platforms/Hisilicon/D03/D03.dsc | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Platforms/Hisilicon/D02/Pv660D02.dsc b/Platforms/Hisilicon/D02/Pv660D02.dsc index 2a66796c8de1..d025bddc770e 100644 --- a/Platforms/Hisilicon/D02/Pv660D02.dsc +++ b/Platforms/Hisilicon/D02/Pv660D02.dsc @@ -33,7 +33,7 @@ !include OpenPlatformPkg/Chips/Hisilicon/Pv660/Pv660.dsc.inc
[LibraryClasses.common] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf @@ -73,7 +73,6 @@ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
[LibraryClasses.common.SEC] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLibSec.inf
[LibraryClasses.common.DXE_RUNTIME_DRIVER] diff --git a/Platforms/Hisilicon/D03/D03.dsc b/Platforms/Hisilicon/D03/D03.dsc index e60b99d30505..83a18b15a07e 100644 --- a/Platforms/Hisilicon/D03/D03.dsc +++ b/Platforms/Hisilicon/D03/D03.dsc @@ -33,7 +33,7 @@ !include OpenPlatformPkg/Chips/Hisilicon/Pv660/Pv660.dsc.inc
[LibraryClasses.common] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLib.inf
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf @@ -82,7 +82,6 @@ LpcLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1610/Library/LpcLib/LpcLib.inf SerialPortLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.inf [LibraryClasses.common.SEC] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibPv660/ArmPlatformLibSec.inf
Replace all references to the various ArmLib flavors with ArmBaseLib, which can substitute for all of them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc | 2 +- Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc index 2b15d7f5667b..9056bba831c5 100644 --- a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc +++ b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc @@ -33,7 +33,7 @@ [LibraryClasses.common] DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc index 3c2b767552fa..bd1326725fd2 100644 --- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc +++ b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc @@ -31,7 +31,7 @@
[LibraryClasses.common] - ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmPlatformLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf @@ -131,8 +131,6 @@ FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
[LibraryClasses.common.SEC] - ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
Replace all references to the various ArmLib flavors with ArmBaseLib, which can substitute for all of them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc | 3 +-- Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc b/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc index 2745cf5e5cbc..8a100e0d9a3c 100644 --- a/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc +++ b/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc @@ -99,7 +99,7 @@ DEFINE DO_KCS = 0 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLib.inf @@ -153,7 +153,6 @@ DEFINE DO_KCS = 0 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLibSec.inf
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf diff --git a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc index 4497d3683922..38c3309dcff1 100644 --- a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc +++ b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc @@ -102,7 +102,7 @@ DEFINE DO_KCS = 1 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLib.inf @@ -160,7 +160,6 @@ DEFINE DO_KCS = 1 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLibSec.inf
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
Replace all references to the various ArmLib flavors with ArmBaseLib, which can substitute for all of them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Juno/ArmJuno.dsc | 7 +------ Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 3 +-- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 4 +--- 3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 3029999bc66f..751225ab112d 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -34,6 +34,7 @@ !include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
[LibraryClasses.common] + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmPlatformLib|ArmPlatformPkg/ArmJunoPkg/Library/ArmJunoLib/ArmJunoLib.inf ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf @@ -51,12 +52,6 @@ # USB Requirements UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-[LibraryClasses.ARM] - ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf - -[LibraryClasses.AARCH64] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf - [LibraryClasses.common.SEC] PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index ef8fd971e66b..e95a3c1cd1bc 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -38,7 +38,7 @@ !include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
[LibraryClasses.common] - ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/ArmVExpressLib.inf
@@ -210,7 +210,6 @@ # ArmPlatformPkg/PrePi/PeiMPCore.inf { <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/ArmVExpressLib.inf }
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 8656741ed185..3d8e0cfbb57e 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -39,7 +39,7 @@ !include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
[LibraryClasses.common] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf @@ -60,7 +60,6 @@ !endif
[LibraryClasses.common.SEC] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
@@ -199,7 +198,6 @@ # UEFI is placed in RAM by bootloader ArmPlatformPkg/PrePi/PeiUniCore.inf { <LibraryClasses> - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf } !else
Replace all references to the various ArmLib flavors with ArmBaseLib, which can substitute for all of them.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/Marvell/Armada/Armada.dsc.inc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/Platforms/Marvell/Armada/Armada.dsc.inc b/Platforms/Marvell/Armada/Armada.dsc.inc index 195ccc5fc404..47934b2ea950 100644 --- a/Platforms/Marvell/Armada/Armada.dsc.inc +++ b/Platforms/Marvell/Armada/Armada.dsc.inc @@ -131,14 +131,12 @@ FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
[LibraryClasses.AARCH64] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
[LibraryClasses.common.SEC] - ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf - DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
On Mon, Sep 05, 2016 at 03:33:06PM +0100, Ard Biesheuvel wrote:
This moves all platforms in OpenPlatformPkg to ArmBaseLib, which replaces all previously existing variants of ArmLib.
I have build tested each of them, and boot tested the ones I can test (FVP and Overdrive).
I picked up some fixes for D02/D03 along the way. These are listed first (#1 - #4), #1 is required to fix the build, #5 is required since ArmBaseLib no longer pulls in MemoryAllocationLib. #2 and #3 are optional, but useful improvements nonetheless. #5 does the ArmBaseLib switch itself for D02/D03
Patches #6 to #9 replace all ArmLib references to ArmBaseLib in the remaining platforms.
NOTE: This series combines with my armlib-cleanup branch [0], which deviates from the v1 I sent out today. When testing these patches, please use this branch; it will be the basis of my v2 submission once we have confirmed that everything works as expected. This series can be found here [1]
I would prefer to see Tested-by:s for 2/9 and 3/9. For the rest: Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
[0] https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/hea... [1] https://git.linaro.org/uefi/OpenPlatformPkg.git/shortlog/refs/heads/armlib-c...
Ard Biesheuvel (9): Hisilicon/D0x: remove UEFI_APPLICATION BuildOptions override Hisilicon/D0x: get rid of EDK2_SKIP_PEICORE Hisilicon/D0x: get rid of APRIORI declarations Hisilicon/IoInitDxe: add hidden dependency on MemoryAllocationLib to .inf Hisilicon/D0x: switch to ArmBaseLib BeagleBoardPkg Omap35xxPkg: switch to ArmBaseLib AMD/Styx: switch to ArmBaseLib Platforms/ARM: switch to ArmBaseLib Marvell/Armada: switch to ArmBaseLib
Chips/Hisilicon/Pv660/Drivers/IoInitDxe/IoInitDxe.inf | 1 + Chips/Hisilicon/Pv660/Pv660.dsc.inc | 12 ------ Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc | 2 +- Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc | 3 +- Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc | 3 +- Platforms/ARM/Juno/ArmJuno.dsc | 7 +--- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 3 +- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 4 +- Platforms/Hisilicon/D02/Pv660D02.dsc | 34 +++++------------ Platforms/Hisilicon/D02/Pv660D02.fdf | 11 ------ Platforms/Hisilicon/D03/D03.dsc | 39 +++++--------------- Platforms/Hisilicon/D03/D03.fdf | 11 ------ Platforms/Marvell/Armada/Armada.dsc.inc | 4 +- Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc | 4 +- 14 files changed, 27 insertions(+), 111 deletions(-)
-- 2.7.4
On 5 September 2016 at 15:45, Leif Lindholm leif.lindholm@linaro.org wrote:
On Mon, Sep 05, 2016 at 03:33:06PM +0100, Ard Biesheuvel wrote:
This moves all platforms in OpenPlatformPkg to ArmBaseLib, which replaces all previously existing variants of ArmLib.
I have build tested each of them, and boot tested the ones I can test (FVP and Overdrive).
I picked up some fixes for D02/D03 along the way. These are listed first (#1 - #4), #1 is required to fix the build, #5 is required since ArmBaseLib no longer pulls in MemoryAllocationLib. #2 and #3 are optional, but useful improvements nonetheless. #5 does the ArmBaseLib switch itself for D02/D03
Patches #6 to #9 replace all ArmLib references to ArmBaseLib in the remaining platforms.
NOTE: This series combines with my armlib-cleanup branch [0], which deviates from the v1 I sent out today. When testing these patches, please use this branch; it will be the basis of my v2 submission once we have confirmed that everything works as expected. This series can be found here [1]
I would prefer to see Tested-by:s for 2/9 and 3/9. For the rest: Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Heyi,
Do you have any comments regarding patches 2/9 and 3/9?
Thanks, Ard.
在 9/8/2016 4:31 PM, Ard Biesheuvel 写道:
On 5 September 2016 at 15:45, Leif Lindholm leif.lindholm@linaro.org wrote:
On Mon, Sep 05, 2016 at 03:33:06PM +0100, Ard Biesheuvel wrote:
This moves all platforms in OpenPlatformPkg to ArmBaseLib, which replaces all previously existing variants of ArmLib.
I have build tested each of them, and boot tested the ones I can test (FVP and Overdrive).
I picked up some fixes for D02/D03 along the way. These are listed first (#1 - #4), #1 is required to fix the build, #5 is required since ArmBaseLib no longer pulls in MemoryAllocationLib. #2 and #3 are optional, but useful improvements nonetheless. #5 does the ArmBaseLib switch itself for D02/D03
Patches #6 to #9 replace all ArmLib references to ArmBaseLib in the remaining platforms.
NOTE: This series combines with my armlib-cleanup branch [0], which deviates from the v1 I sent out today. When testing these patches, please use this branch; it will be the basis of my v2 submission once we have confirmed that everything works as expected. This series can be found here [1]
I would prefer to see Tested-by:s for 2/9 and 3/9. For the rest: Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Heyi,
Do you have any comments regarding patches 2/9 and 3/9?
I think it is good for the code. And I will test it further on D02/D03 and let you know the result.
Thanks Ard.
Heyi
Thanks, Ard.
All D0x patches were tested OK on D02/D03.
Tested-by: Heyi Guo heyi.guo@linaro.org
However, I actually found something else wrong with the latest EDK2 for D02/D03. It seems DXE dispatcher has been changed and our SFCDriver will not be run after CpuDxe driver. The issue can be fixed after explicitly adding dependency for SFCDriver, and I have made a patch in the attachment for this. Please help to review and let me know your comments.
Thanks and regards,
heyi
在 9/8/2016 6:36 PM, Heyi Guo 写道:
在 9/8/2016 4:31 PM, Ard Biesheuvel 写道:
On 5 September 2016 at 15:45, Leif Lindholm leif.lindholm@linaro.org wrote:
On Mon, Sep 05, 2016 at 03:33:06PM +0100, Ard Biesheuvel wrote:
This moves all platforms in OpenPlatformPkg to ArmBaseLib, which replaces all previously existing variants of ArmLib.
I have build tested each of them, and boot tested the ones I can test (FVP and Overdrive).
I picked up some fixes for D02/D03 along the way. These are listed first (#1 - #4), #1 is required to fix the build, #5 is required since ArmBaseLib no longer pulls in MemoryAllocationLib. #2 and #3 are optional, but useful improvements nonetheless. #5 does the ArmBaseLib switch itself for D02/D03
Patches #6 to #9 replace all ArmLib references to ArmBaseLib in the remaining platforms.
NOTE: This series combines with my armlib-cleanup branch [0], which deviates from the v1 I sent out today. When testing these patches, please use this branch; it will be the basis of my v2 submission once we have confirmed that everything works as expected. This series can be found here [1]
I would prefer to see Tested-by:s for 2/9 and 3/9. For the rest: Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Heyi,
Do you have any comments regarding patches 2/9 and 3/9?
I think it is good for the code. And I will test it further on D02/D03 and let you know the result.
Thanks Ard.
Heyi
Thanks, Ard.
On 10 September 2016 at 03:46, Heyi Guo heyi.guo@linaro.org wrote:
All D0x patches were tested OK on D02/D03.
Tested-by: Heyi Guo heyi.guo@linaro.org
Thanks.
However, I actually found something else wrong with the latest EDK2 for D02/D03. It seems DXE dispatcher has been changed and our SFCDriver will not be run after CpuDxe driver. The issue can be fixed after explicitly adding dependency for SFCDriver, and I have made a patch in the attachment for this. Please help to review and let me know your comments.
If the SfcDriver has a protocol dependency on gEfiCpuArchProtocolGuid, it is indeed required to express this in the depex. The gEfiPcdProtocolGuid will be inherited from the PcdLib implementation you used when building SFCDriver.efi
So for the patch,
Reviewed-by: Ard Biesheuvel ard.biesheuvel@linaro.org
Thanks, Ard.