EBC is not supported at all on 32-bit ARM. The pseudo RNG lib could be implemented for 32-bit but there is no use case currently.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Juno/ArmJuno.dsc | 12 +++++++----- Platforms/ARM/Juno/ArmJuno.fdf | 5 ++++- 2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index f9824f0f837e..182aa5520602 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -315,11 +315,6 @@ <LibraryClasses> BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf } - SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf { - <LibraryClasses> - # DO NOT USE THIS LIBRARY FOR PRODUCTION DEVICES - RngLib|OpenPlatformPkg/Platforms/ARM/Binary/Library/PseudoRngLib/PseudoRngLib.inf - }
# # SMBIOS/DMI @@ -341,7 +336,14 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf }
+[Components.AARCH64] # # EBC # MdeModulePkg/Universal/EbcDxe/EbcDxe.inf + + SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf { + <LibraryClasses> + # DO NOT USE THIS LIBRARY FOR PRODUCTION DEVICES + RngLib|OpenPlatformPkg/Platforms/ARM/Binary/Library/PseudoRngLib/PseudoRngLib.inf + } diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index f760c128744b..beee7afd11fb 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -200,7 +200,6 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # Juno platform driver # INF ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf - INF SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
# # SMBIOS/DMI @@ -224,11 +223,15 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # after the device drivers (eg: Ethernet) to ensure we have support for them. INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
+!if $(ARCH) == AARCH64 # # EBC # INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ INF SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf +!endif + [FV.FVMAIN_COMPACT] FvAlignment = 8 ERASE_POLARITY = 1
The ArmJuno.dsc [BuildOptions] section adds some include paths to the compiler flags, by overriding the PLATFORM_FLAGS build variable of all build types, toolchains and architectures, using an == assignment.
Since some of PLATFORM_FLAGS variants may contain compiler switches that we may want to keep, using = to add rather than replace is more appropriate here.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Juno/ArmJuno.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 182aa5520602..154de2cd8797 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -67,7 +67,7 @@ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
[BuildOptions] - *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include + *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
################################################################################ #
On Fri, Oct 28, 2016 at 12:03:18PM +0100, Ard Biesheuvel wrote:
The ArmJuno.dsc [BuildOptions] section adds some include paths to the compiler flags, by overriding the PLATFORM_FLAGS build variable of all build types, toolchains and architectures, using an == assignment.
Since some of PLATFORM_FLAGS variants may contain compiler switches that we may want to keep, using = to add rather than replace is more appropriate here.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org
Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Platforms/ARM/Juno/ArmJuno.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 182aa5520602..154de2cd8797 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -67,7 +67,7 @@ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf [BuildOptions]
- *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
################################################################################
#
2.7.4
Set the architecture to ARMv8-A for the 32-bit build. Note that this is GCC only, RVCT currently has no way of setting this option.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 154de2cd8797..4080c0bc7bd6 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -68,6 +68,7 @@
[BuildOptions] *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include + GCC:*_*_ARM_PLATFORM_FLAGS = -march=armv8-a
################################################################################ #
On Fri, Oct 28, 2016 at 12:03:19PM +0100, Ard Biesheuvel wrote:
Set the architecture to ARMv8-A for the 32-bit build. Note that this is GCC only, RVCT currently has no way of setting this option.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org
Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 154de2cd8797..4080c0bc7bd6 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -68,6 +68,7 @@ [BuildOptions] *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- GCC:*_*_ARM_PLATFORM_FLAGS = -march=armv8-a
################################################################################
#
2.7.4
On Fri, Oct 28, 2016 at 12:03:17PM +0100, Ard Biesheuvel wrote:
EBC is not supported at all on 32-bit ARM. The pseudo RNG lib could be implemented for 32-bit but there is no use case currently.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org
Reviewed-by: Leif Lindholm leif.lindholm@linaro.org
Platforms/ARM/Juno/ArmJuno.dsc | 12 +++++++----- Platforms/ARM/Juno/ArmJuno.fdf | 5 ++++- 2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index f9824f0f837e..182aa5520602 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -315,11 +315,6 @@ <LibraryClasses> BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf }
- SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf {
<LibraryClasses>
# DO NOT USE THIS LIBRARY FOR PRODUCTION DEVICES
RngLib|OpenPlatformPkg/Platforms/ARM/Binary/Library/PseudoRngLib/PseudoRngLib.inf
- }
# # SMBIOS/DMI @@ -341,7 +336,14 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } +[Components.AARCH64] # # EBC # MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf {
<LibraryClasses>
# DO NOT USE THIS LIBRARY FOR PRODUCTION DEVICES
RngLib|OpenPlatformPkg/Platforms/ARM/Binary/Library/PseudoRngLib/PseudoRngLib.inf
- }
diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index f760c128744b..beee7afd11fb 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -200,7 +200,6 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # Juno platform driver # INF ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.inf
- INF SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
# # SMBIOS/DMI @@ -224,11 +223,15 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # after the device drivers (eg: Ethernet) to ensure we have support for them. INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf +!if $(ARCH) == AARCH64 # # EBC # INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- INF SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
+!endif
[FV.FVMAIN_COMPACT] FvAlignment = 8 ERASE_POLARITY = 1 -- 2.7.4