public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"etienne.carriere@linaro.org" <etienne.carriere@linaro.org>
Cc: Achin Gupta <achin.gupta@arm.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Leif Lindholm <leif@nuviainc.com>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Sughosh Ganu <sughosh.ganu@linaro.org>
Subject: Re: [edk2-devel] [PATCH 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures
Date: Wed, 5 May 2021 02:10:41 +0000	[thread overview]
Message-ID: <PH0PR11MB488595A7F2A5CDEE6E89431B8C599@PH0PR11MB4885.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210504152048.8739-5-etienne.carriere@linaro.org>

Acked-by: Jiewen Yao <Jiewen.yao@intel.com>

Need ARM expert to comment if it is OK to refer AArch64 for ARM?

Thank you
Yao Jiewen

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Etienne
> Carriere
> Sent: Tuesday, May 4, 2021 11:21 PM
> To: devel@edk2.groups.io
> Cc: Achin Gupta <achin.gupta@arm.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>; Yao, Jiewen <jiewen.yao@intel.com>; Leif
> Lindholm <leif@nuviainc.com>; Sami Mujawar <sami.mujawar@arm.com>;
> Sughosh Ganu <sughosh.ganu@linaro.org>; Etienne Carriere
> <etienne.carriere@linaro.org>
> Subject: [edk2-devel] [PATCH 4/5] StandaloneMmPkg: fix pointer/int casts
> against 32bit architectures
> 
> 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/CreateHobL
> ist.c              | 14 +++++++-------
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalone
> MmCoreEntryPoint.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/CreateHo
> bList.c
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo
> bList.c
> index e8fb96bd6e..4d4cf3d5ff 100644
> ---
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo
> bList.c
> +++
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo
> bList.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/Standalon
> eMmCoreEntryPoint.c
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalon
> eMmCoreEntryPoint.c
> index 6c50f470aa..b445d6942e 100644
> ---
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalon
> eMmCoreEntryPoint.c
> +++
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalon
> eMmCoreEntryPoint.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
>               );
> --
> 2.17.1
> 
> 
> 
> 
> 


  reply	other threads:[~2021-05-05  2:10 UTC|newest]

Thread overview: 17+ 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   ` Yao, Jiewen [this message]
2021-05-10 15:50     ` [edk2-devel] " Ard Biesheuvel
2021-05-11 19:14   ` Sami Mujawar
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

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=PH0PR11MB488595A7F2A5CDEE6E89431B8C599@PH0PR11MB4885.namprd11.prod.outlook.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