Re: [PATCH v3 5/5] StandaloneMmPkg: build for 32bit arm machines


Etienne Carriere
 

Hello Sami,

Thanks for the catch. I missed that. My comment below.

On Tue, 18 May 2021 at 13:07, Sami Mujawar <sami.mujawar@...> wrote:

Hi Etienne,

Please find my response inline marked [SAMI].

Regards,

Sami Mujawar

On 17/05/2021 08:40 AM, Etienne Carriere wrote:
This change allows to build StandaloneMmPkg components for 32bit Arm
StandaloneMm firmware.

This change mainly moves AArch64/ source files to Arm/ side directory
for several components: StandaloneMmCpu, StandaloneMmCoreEntryPoint
and StandaloneMmMemLib. The source file is built for both 32b and 64b
Arm targets.
(snip)
--- a/StandaloneMmPkg/StandaloneMmPkg.dsc
+++ b/StandaloneMmPkg/StandaloneMmPkg.dsc
(snip)
@@ -131,7 +131,7 @@
# module style (EDK or EDKII) specified in [Components] section.
#
###################################################################################################
-[BuildOptions.AARCH64]
+[BuildOptions.AARCH64, BuildOptions.ARM]
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align
[SAMI] Looks like I missed this in my previous review, sorry.
Is '-march=armv8-axxx' correct here? or we need another ARM section with
-march=armv7-a?
Can you also check if '-mstrict-align' is right and if
'-fno-stack-protector' is needed instead, please?

I used the following setting from your edk2-platforms patch v1 4/4, file
Platform/StandaloneMm/PlatformStandaloneMmPkg/PlatformStandaloneMmRpmb.dsc
and was able to build on a Windows host PC using
gcc-arm-9.2-2019.12-mingw-w64-i686-arm-none-eabi compiler.
[BuildOptions.ARM]
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv7-a
GCC:*_*_*_CC_FLAGS = -fno-stack-protector
[/SAMI]
You are right.
I saw that I build with these same directive but inherited from my
edk2-platforms platform that override these.
Indeed BuildOptions.ARM must be updated.
I am preparing a patch v4 series.

Regards,
Etienne


GCC:*_*_*_CC_FLAGS = -mstrict-align

Join devel@edk2.groups.io to automatically receive all group messages.