Introduction of the -mstrict-align flag results in GCC attempting
to use memset to zero out the InitMmFoundationSvcArgs structure.
In the absence of this C library function, this patch explicitly
zeroes this data structure prior to use.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Sughosh Ganu <sughosh.ganu@arm.com>
Reviewed-by: Achin Gupta <achin.gupta@arm.com>
{\r
PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;\r
EFI_SECURE_PARTITION_BOOT_INFO *PayloadBootInfo;\r
- ARM_SVC_ARGS InitMmFoundationSvcArgs = {0};\r
+ ARM_SVC_ARGS InitMmFoundationSvcArgs;\r
EFI_STATUS Status;\r
UINT32 SectionHeaderOffset;\r
UINT16 NumberOfSections;\r
DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP 0x%lx\n", (UINT64) CpuDriverEntryPoint));\r
\r
finish:\r
+ ZeroMem (&InitMmFoundationSvcArgs, sizeof(InitMmFoundationSvcArgs));\r
InitMmFoundationSvcArgs.Arg0 = ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;\r
InitMmFoundationSvcArgs.Arg1 = Status;\r
DelegatedEventLoop (&InitMmFoundationSvcArgs);\r