On Wed, Jul 05, 2017 at 12:18:52PM +0100, Ryan Harkin wrote:
On 5 July 2017 at 11:32, Ryan Harkin ryan.harkin@linaro.org wrote:
On 5 July 2017 at 11:16, Ryan Harkin ryan.harkin@linaro.org wrote:
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
After popping commit e4129b0e5897d76885170bec9da996b266f185f9 off the top of edk2, and adding "ArmPlatformPkg: convert VExpress ResetSystemLib to ResetSystemLib", I applied this patch to OpenPlatformPkg and tested on TC2, FVP Foundation and AEMv8 models and Juno R0/1/2.
I checked that reset and shutdown both still work as expected. Reset was triggered from BDS, grub and EFI Shell. Shutdown (reset -s) was trigger from EFI Shell.
Tested-by: Ryan Harkin ryan.harkin@linaro.org
And this end pushed as 124202f57b. Thanks!
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.
After all that, bisect tells me it's the current tianocore HEAD:
commit e4129b0e5897d76885170bec9da996b266f185f9 Author: Liming Gao liming.gao@intel.com Date: Mon Jun 19 17:49:44 2017 +0800
BaseTools: Update GenFw to clear unused debug entry generated by
VS tool chain
https://bugzilla.tianocore.org/show_bug.cgi?id=600 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
If I pop that one off, all is well with the world again. I'm not working out why that broke, I'll ignore it and carry on testing Leif's patches.
-- 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 >