Message ID | 20170704172612.27799-1-leif.lindholm@linaro.org |
---|---|
State | Accepted |
Commit | 124202f57bbd21bceef266dfb3e3b5ccf39379ba |
Headers | show |
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 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 >
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 -------------------------------------------------------------------------------------------------- "/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 >>
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.
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 >>>>
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 >>> >>> 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 >>>>>
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> >>>> >>>> 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 >>>>>>
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 > >>>>>>
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] #
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> --- 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(-)