public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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>
Subject: Re: [PATCH 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures
Date: Tue, 11 May 2021 20:14:54 +0100	[thread overview]
Message-ID: <161b3a25-2843-7187-243b-fac54164f78a@arm.com> (raw)
In-Reply-To: <20210504152048.8739-5-etienne.carriere@linaro.org>

Hi Etienne,

Thank you for this patch.

A space should not be there between a unary operator add its operand.
See
https://edk2-docs.gitbook.io/edk-ii-c-coding-standards-specification/5_source_files/52_spacing#5-2-2-3-do-not-put-space-between-unary-operators-and-their-object

However, the existing code does not follow this anyways.

Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

Regards,

Sami Mujawar


On 04/05/2021 04:20 PM, 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>
> ---
>   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
>                );

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

  parent reply	other threads:[~2021-05-11 19:15 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-04 15:20 [PATCH 0/5] Arm 32bit support in StandaloveMm Etienne Carriere
2021-05-04 15:20 ` [PATCH 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A and Mm SVC IDs Etienne Carriere
2021-05-11 18:43   ` Sami Mujawar
2021-05-04 15:20 ` [PATCH 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg Etienne Carriere
2021-05-11 18:45   ` Sami Mujawar
2021-05-04 15:20 ` [PATCH 3/5] GenGv: Arm: support images entered in Thumb mode Etienne Carriere
2021-05-10 15:54   ` Ard Biesheuvel
2021-05-11 19:13   ` Sami Mujawar
2021-05-04 15:20 ` [PATCH 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures Etienne Carriere
2021-05-05  2:10   ` [edk2-devel] " Yao, Jiewen
2021-05-10 15:50     ` Ard Biesheuvel
2021-05-11 19:14   ` Sami Mujawar [this message]
2021-05-04 15:20 ` [PATCH 5/5] StandaloneMmPkg: build for 32bit arm machines Etienne Carriere
2021-05-11 19:18   ` Sami Mujawar
2021-05-12 10:01     ` Etienne Carriere
2021-05-06  3:25 ` 回复: [edk2-devel] [PATCH 0/5] Arm 32bit support in StandaloveMm gaoliming
2021-05-06  6:44   ` Etienne Carriere
  -- strict thread matches above, loose matches on Subject: below --
2021-03-14 20:06 [PATCH 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A and Mm SVC IDs Etienne Carriere
2021-03-14 20:06 ` [PATCH 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures Etienne Carriere

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=161b3a25-2843-7187-243b-fac54164f78a@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