From: "Sami Mujawar" <sami.mujawar@arm.com>
To: Etienne Carriere <etienne.carriere@linaro.org>, devel@edk2.groups.io
Cc: Achin Gupta <achin.gupta@arm.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Jiewen Yao <jiewen.yao@intel.com>,
Leif Lindholm <leif@nuviainc.com>,
Sughosh Ganu <sughosh.ganu@linaro.org>,
nd@arm.com
Subject: Re: [PATCH v3 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures
Date: Tue, 18 May 2021 12:05:27 +0100 [thread overview]
Message-ID: <fe806a79-e0d1-2f39-233b-114d5cb45bb1@arm.com> (raw)
In-Reply-To: <20210517074054.30281-4-etienne.carriere@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 5748 bytes --]
Hi Etienne,
Thank you for this patch.
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Regards,
Sami Mujawar
On 17/05/2021 08:40 AM, Etienne Carriere wrote:
> Use intermediate (UINTN) cast when casting int from/to pointer. This
> is needed as UINT64 values cast from/to 32bit pointer for 32bit
> architectures.
>
> Cc: Achin Gupta <achin.gupta@arm.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Sughosh Ganu <sughosh.ganu@linaro.org>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> No change since v2
> No change since v1
> ---
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c | 8 ++++----
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c | 14 +++++++-------
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c | 2 +-
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
> index 6884095c49..d4590bcd19 100644
> --- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
> +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
> @@ -164,8 +164,8 @@ StandaloneMmCpuInitialize (
>
> // Share the entry point of the CPU driver
> DEBUG ((DEBUG_INFO, "Sharing Cpu Driver EP *0x%lx = 0x%lx\n",
> - (UINT64) CpuDriverEntryPointDesc->ArmTfCpuDriverEpPtr,
> - (UINT64) PiMmStandaloneArmTfCpuDriverEntry));
> + (UINTN) CpuDriverEntryPointDesc->ArmTfCpuDriverEpPtr,
> + (UINTN) PiMmStandaloneArmTfCpuDriverEntry));
> *(CpuDriverEntryPointDesc->ArmTfCpuDriverEpPtr) = PiMmStandaloneArmTfCpuDriverEntry;
>
> // Find the descriptor that contains the whereabouts of the buffer for
> @@ -180,8 +180,8 @@ StandaloneMmCpuInitialize (
> return Status;
> }
>
> - DEBUG ((DEBUG_INFO, "mNsCommBuffer.PhysicalStart - 0x%lx\n", (UINT64) NsCommBufMmramRange->PhysicalStart));
> - DEBUG ((DEBUG_INFO, "mNsCommBuffer.PhysicalSize - 0x%lx\n", (UINT64) NsCommBufMmramRange->PhysicalSize));
> + DEBUG ((DEBUG_INFO, "mNsCommBuffer.PhysicalStart - 0x%lx\n", (UINTN) NsCommBufMmramRange->PhysicalStart));
> + DEBUG ((DEBUG_INFO, "mNsCommBuffer.PhysicalSize - 0x%lx\n", (UINTN) NsCommBufMmramRange->PhysicalSize));
>
> CopyMem (&mNsCommBuffer, NsCommBufMmramRange, sizeof(EFI_MMRAM_DESCRIPTOR));
> DEBUG ((DEBUG_INFO, "mNsCommBuffer: 0x%016lx - 0x%lx\n", mNsCommBuffer.CpuStart, mNsCommBuffer.PhysicalSize));
> diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
> index e8fb96bd6e..4d4cf3d5ff 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
> @@ -72,14 +72,14 @@ CreateHobListFromBootInfo (
>
> // Create a hoblist with a PHIT and EOH
> HobStart = HobConstructor (
> - (VOID *) PayloadBootInfo->SpMemBase,
> + (VOID *) (UINTN) PayloadBootInfo->SpMemBase,
> (UINTN) PayloadBootInfo->SpMemLimit - PayloadBootInfo->SpMemBase,
> - (VOID *) PayloadBootInfo->SpHeapBase,
> - (VOID *) (PayloadBootInfo->SpHeapBase + PayloadBootInfo->SpHeapSize)
> + (VOID *) (UINTN) PayloadBootInfo->SpHeapBase,
> + (VOID *) (UINTN) (PayloadBootInfo->SpHeapBase + PayloadBootInfo->SpHeapSize)
> );
>
> // Check that the Hoblist starts at the bottom of the Heap
> - ASSERT (HobStart == (VOID *) PayloadBootInfo->SpHeapBase);
> + ASSERT (HobStart == (VOID *) (UINTN) PayloadBootInfo->SpHeapBase);
>
> // Build a Boot Firmware Volume HOB
> BuildFvHob (PayloadBootInfo->SpImageBase, PayloadBootInfo->SpImageSize);
> @@ -190,9 +190,9 @@ CreateHobListFromBootInfo (
> MmramRanges[3].RegionState = EFI_CACHEABLE | EFI_ALLOCATED;
>
> // Base and size of heap memory shared by all cpus
> - MmramRanges[4].PhysicalStart = (EFI_PHYSICAL_ADDRESS) HobStart;
> - MmramRanges[4].CpuStart = (EFI_PHYSICAL_ADDRESS) HobStart;
> - MmramRanges[4].PhysicalSize = HobStart->EfiFreeMemoryBottom - (EFI_PHYSICAL_ADDRESS) HobStart;
> + MmramRanges[4].PhysicalStart = (EFI_PHYSICAL_ADDRESS) (UINTN) HobStart;
> + MmramRanges[4].CpuStart = (EFI_PHYSICAL_ADDRESS) (UINTN) HobStart;
> + MmramRanges[4].PhysicalSize = HobStart->EfiFreeMemoryBottom - (EFI_PHYSICAL_ADDRESS) (UINTN) HobStart;
> MmramRanges[4].RegionState = EFI_CACHEABLE | EFI_ALLOCATED;
>
> // Base and size of heap memory shared by all cpus
> diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
> index 6c50f470aa..b445d6942e 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
> @@ -328,7 +328,7 @@ _ModuleEntryPoint (
>
> // Locate PE/COFF File information for the Standalone MM core module
> Status = LocateStandaloneMmCorePeCoffData (
> - (EFI_FIRMWARE_VOLUME_HEADER *) PayloadBootInfo->SpImageBase,
> + (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) PayloadBootInfo->SpImageBase,
> &TeData,
> &TeDataSize
> );
[-- Attachment #2: Type: text/html, Size: 6778 bytes --]
next prev parent reply other threads:[~2021-05-18 11:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-17 7:40 [PATCH v3 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs Etienne Carriere
2021-05-17 7:40 ` [PATCH v3 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg Etienne Carriere
2021-05-18 11:05 ` Sami Mujawar
2021-05-17 7:40 ` [PATCH v3 3/5] GenFv: Arm: support images entered in Thumb mode Etienne Carriere
2021-05-18 11:05 ` Sami Mujawar
2021-05-17 7:40 ` [PATCH v3 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures Etienne Carriere
2021-05-18 11:05 ` Sami Mujawar [this message]
2021-05-17 7:40 ` [PATCH v3 5/5] StandaloneMmPkg: build for 32bit arm machines Etienne Carriere
2021-05-18 11:07 ` Sami Mujawar
2021-05-19 6:20 ` Etienne Carriere
2021-05-18 11:04 ` [PATCH v3 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs Sami Mujawar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fe806a79-e0d1-2f39-233b-114d5cb45bb1@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox