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.
--
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
>>>