On 5 July 2017 at 11:13, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
On 5 July 2017 at 11:12, Ryan Harkin ryan.harkin@linaro.org wrote:
On 4 July 2017 at 18:30, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
On 4 July 2017 at 18:26, Leif Lindholm leif.lindholm@linaro.org wrote:
Update (32-bit) ARM platforms to use generic ResetSystemRuntimeDxe, and update the library mapping to provide a ResetSystemLib (via the new version of ArmVeResetSystemLib).
Update TC2 to explicitly include MdeModulePkg ResetSystemRuntimeDxe.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm leif.lindholm@linaro.org
Looks good to me, but a Tested-by would be nice
Well..... there's a thing....
I thought I ought to try this too. The three patches around this look good. But... pure upstream EDK2 and OpenPlatformPkg no longer builds for me.
I tried:
edk2 at commit e4129b0 opp at commit bbdd9ce uefi-tools at commit bb3cae0
Interestingly, my CI job failed on an ARM build with a segfault as well.
I will investigate.
Actually, after sending my email, I decided to git bisect the problem too, assuming it wouldn't be too hard saying as I last used pure upstream code to build also... pah! famous last words... too many dependencies between tianocore and OpenPlatformPkg make it cumbersome.
-- Ard.
"/linaro/platforms/tools/gcc/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc" -mthumb -DARM_BIGLITTLE_TC2=1 -mcpu=cortex-a15 -I/linaro/platforms/uefi/edk2/ArmPlatformPkg/ArmVExpressPkg/Include -I/linaro/platforms/uefi/edk2/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA15-A7 -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie -fstack-protector -mword-relocations -flto -Wno-unused-but-set-variable -DMDEPKG_NDEBUG -c -o /linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe/OUTPUT/./AutoGen.obj -I/linaro/platforms/uefi/edk2/MdeModulePkg/Universal/Network/Dhcp4Dxe -I/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe/DEBUG -I/linaro/platforms/uefi/edk2/MdePkg -I/linaro/platforms/uefi/edk2/MdePkg/Include -I/linaro/platforms/uefi/edk2/MdePkg/Include/Arm -I/linaro/platforms/uefi/edk2/MdeModulePkg -I/linaro/platforms/uefi/edk2/MdeModulePkg/Include /linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe/DEBUG/AutoGen.c Segmentation fault (core dumped) make: *** [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi] Error 139 GNUmakefile:360: recipe for target '/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe/DEBUG/DpcDxe.efi' failed
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/PCD/Dxe/Pcd]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/ArpDxe/ArpDxe]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/MnpDxe/MnpDxe]
build.py... : error 7000: Failed to execute command make tbuild [/linaro/platforms/uefi/edk2/Build/ArmVExpress-CTA15-A7/RELEASE_GCC5/ARM/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe]
build.py... : error F002: Failed to build module /linaro/platforms/uefi/edk2/MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf [ARM, GCC5, RELEASE]
- Failed -
So at that point, I've given up.
Reviewed-by: Ard Biesheuvel ard.biesheuvel@linaro.org
This change depends on the updated version of ArmVeResetSystemLib, not yet merged in edk2.
Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc | 2 +- Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf | 2 +- Platforms/ARM/VExpress/ArmVExpress.dsc.inc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc index d1cfc71983..2fa484050b 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc @@ -222,7 +222,7 @@ } MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
- EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
- MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf index 1903389c8e..cb9a89ef0c 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf @@ -79,7 +79,7 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
- INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
- INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc index 3f6e50573c..f2a05e8e6b 100644 --- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc +++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc @@ -254,7 +254,7 @@ # syscfg MMIO register implementation on ARM. # This will not work at actual runtime. #
- EfiResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf
- ResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf
[LibraryClasses.ARM, LibraryClasses.AARCH64]
#
2.11.0