From: Ryszard Knop <ryszard.knop@linux.intel.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>, edk2-devel@lists.01.org
Cc: kamil.kacperski@intel.com, eric.jin@intel.com,
pawel.orlowski@intel.com, michael.d.kinney@intel.com,
harry.l.hsiung@intel.com
Subject: Re: [PATCH edk2-staging 15/20] IntelUndiPkg/XGigUndiDxe: use intermediate UINTN casts for pointers
Date: Wed, 30 Jan 2019 17:26:50 +0100 [thread overview]
Message-ID: <ed206d7b31f515235e21fbb839e6682a096cccd9.camel@linux.intel.com> (raw)
In-Reply-To: <20181115023353.20159-16-ard.biesheuvel@linaro.org>
Reviewed-by: Ryszard Knop <ryszard.knop@linux.intel.com>
On Wed, 2018-11-14 at 18:33 -0800, ard.biesheuvela wrote:
> Use intermediate (UINTN) casts when casting pointers to UINT64.
> This is needed to be able to build this code for 32-bit architectures
> such as ARM or IA32.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> ---
> IntelUndiPkg/XGigUndiDxe/Dma.c | 8 ++++----
> IntelUndiPkg/XGigUndiDxe/DriverDiagnostics.c | 4 ++--
> IntelUndiPkg/XGigUndiDxe/Init.c | 6 +++---
> IntelUndiPkg/XGigUndiDxe/Xgbe.c | 8 ++++----
> IntelUndiPkg/XGigUndiDxe/Xgbe.h | 4 ++--
> 5 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/IntelUndiPkg/XGigUndiDxe/Dma.c
> b/IntelUndiPkg/XGigUndiDxe/Dma.c
> index c8588df96ef5..79a5cefe9f41 100644
> --- a/IntelUndiPkg/XGigUndiDxe/Dma.c
> +++ b/IntelUndiPkg/XGigUndiDxe/Dma.c
> @@ -127,7 +127,7 @@ FREE_BUF_ON_ERROR:
> PciIo->FreeBuffer (
> PciIo,
> BytesToPages (DmaMapping->Size),
> - (VOID *) DmaMapping->UnmappedAddress
> + (VOID *)(UINTN)DmaMapping->UnmappedAddress
> );
> DmaMapping->Size = 0;
> DmaMapping->UnmappedAddress = 0;
> @@ -173,7 +173,7 @@ UndiDmaFreeCommonBuffer (
> PciIo->FreeBuffer (
> PciIo,
> BytesToPages (DmaMapping->Size),
> - (VOID *) DmaMapping->UnmappedAddress
> + (VOID *)(UINTN)DmaMapping->UnmappedAddress
> );
>
> DmaMapping->UnmappedAddress = 0;
> @@ -209,7 +209,7 @@ UndiDmaMapCommonBuffer (
> return PciIo->Map (
> PciIo,
> EfiPciIoOperationBusMasterCommonBuffer,
> - (VOID *) DmaMapping->UnmappedAddress,
> + (VOID *)(UINTN)DmaMapping->UnmappedAddress,
> &DmaMapping->Size,
> &DmaMapping->PhysicalAddress,
> &DmaMapping->Mapping
> @@ -243,7 +243,7 @@ UndiDmaMapMemoryRead (
> return PciIo->Map (
> PciIo,
> EfiPciIoOperationBusMasterRead,
> - (VOID *) DmaMapping->UnmappedAddress,
> + (VOID *)(UINTN)DmaMapping->UnmappedAddress,
> &DmaMapping->Size,
> &DmaMapping->PhysicalAddress,
> &DmaMapping->Mapping
> diff --git a/IntelUndiPkg/XGigUndiDxe/DriverDiagnostics.c
> b/IntelUndiPkg/XGigUndiDxe/DriverDiagnostics.c
> index 66dc67a5400e..2f9c66771910 100644
> --- a/IntelUndiPkg/XGigUndiDxe/DriverDiagnostics.c
> +++ b/IntelUndiPkg/XGigUndiDxe/DriverDiagnostics.c
> @@ -119,11 +119,11 @@ XgbeUndiRunPhyLoopback (
> DEBUGPRINT (DIAG, ("CpbReceive.BufferAddr allocated at %x\n",
> (UINTN) CpbReceive.BufferAddr));
>
> while (j < PHY_LOOPBACK_ITERATIONS) {
> - ZeroMem ((VOID *) CpbReceive.BufferAddr, RX_BUFFER_SIZE);
> + ZeroMem ((VOID *)(UINTN)CpbReceive.BufferAddr, RX_BUFFER_SIZE);
>
> Status = XgbeTransmit (
> XgbeAdapter,
> - (UINT64) &PxeCpbTransmit,
> + (UINT64)(UINTN)&PxeCpbTransmit,
> PXE_OPFLAGS_TRANSMIT_WHOLE
> );
>
> diff --git a/IntelUndiPkg/XGigUndiDxe/Init.c
> b/IntelUndiPkg/XGigUndiDxe/Init.c
> index 03e3942a1944..c112db667148 100644
> --- a/IntelUndiPkg/XGigUndiDxe/Init.c
> +++ b/IntelUndiPkg/XGigUndiDxe/Init.c
> @@ -260,7 +260,7 @@ InitUndiPxeStructInit (
> PXE_ROMID_IMP_TX_COMPLETE_INT_SUPPORTED |
> PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED;
>
> - PxePtr->EntryPoint = (UINT64) UndiApiEntry;
> + PxePtr->EntryPoint = (UINT64)(UINTN)UndiApiEntry;
> PxePtr->MinorVer = PXE_ROMID_MINORVER_31;
>
> PxePtr->reserved2[0] = 0;
> @@ -1099,7 +1099,7 @@ InitUndiCallbackFunctions (
> NicInfo->MapMem = (VOID *) 0;
> NicInfo->UnMapMem = (VOID *) 0;
> NicInfo->SyncMem = (VOID *) 0;
> - NicInfo->UniqueId = (UINT64) NicInfo;
> + NicInfo->UniqueId = (UINT64)(UINTN)NicInfo;
> NicInfo->VersionFlag = 0x31;
> }
>
> @@ -1284,7 +1284,7 @@ InitNiiProtocol (
> EFI_STATUS Status;
>
>
> - NiiProtocol31->Id = (UINT64) (mIxgbePxe31);
> + NiiProtocol31->Id = (UINT64)(UINTN)(mIxgbePxe31);
>
> // IFcnt should be equal to the total number of physical ports - 1
> NiiProtocol31->IfNum = mIxgbePxe31->IFcnt;
> diff --git a/IntelUndiPkg/XGigUndiDxe/Xgbe.c
> b/IntelUndiPkg/XGigUndiDxe/Xgbe.c
> index 003c3b9065ec..6769f2dc72ab 100644
> --- a/IntelUndiPkg/XGigUndiDxe/Xgbe.c
> +++ b/IntelUndiPkg/XGigUndiDxe/Xgbe.c
> @@ -1237,7 +1237,7 @@ XgbeTxRxConfigure (
>
> ZeroMem (XgbeAdapter->TxBufferMappings, sizeof (XgbeAdapter-
> >TxBufferMappings));
>
> - RxBuffer = (LOCAL_RX_BUFFER *) XgbeAdapter-
> >RxBufferMapping.PhysicalAddress;
> + RxBuffer = (LOCAL_RX_BUFFER *)(UINTN)XgbeAdapter-
> >RxBufferMapping.PhysicalAddress;
>
> DEBUGPRINT (
> XGBE, ("Local Rx Buffer %X size %X\n",
> @@ -1407,17 +1407,17 @@ XgbeInitialize (
> TempBar = NULL;
>
> ZeroMem (
> - (VOID *) XgbeAdapter->RxRing.UnmappedAddress,
> + (VOID *)(UINTN)XgbeAdapter->RxRing.UnmappedAddress,
> RX_RING_SIZE
> );
>
> ZeroMem (
> - (VOID *) XgbeAdapter->TxRing.UnmappedAddress,
> + (VOID *)(UINTN)XgbeAdapter->TxRing.UnmappedAddress,
> TX_RING_SIZE
> );
>
> ZeroMem (
> - (VOID *) XgbeAdapter->RxBufferMapping.UnmappedAddress,
> + (VOID *)(UINTN)XgbeAdapter->RxBufferMapping.UnmappedAddress,
> RX_BUFFERS_SIZE
> );
>
> diff --git a/IntelUndiPkg/XGigUndiDxe/Xgbe.h
> b/IntelUndiPkg/XGigUndiDxe/Xgbe.h
> index 4472cfb4fa31..2a904de5bf2f 100644
> --- a/IntelUndiPkg/XGigUndiDxe/Xgbe.h
> +++ b/IntelUndiPkg/XGigUndiDxe/Xgbe.h
> @@ -221,7 +221,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF SUCH DAMAGE.
> @return Descriptor retrieved
> **/
> #define XGBE_RX_DESC(R, i) \
> - (&(((struct ixgbe_legacy_rx_desc *) ((R)-
> >UnmappedAddress))[i]))
> + (&(((struct ixgbe_legacy_rx_desc *)(UINTN)((R)-
> >UnmappedAddress))[i]))
>
> /** Retrieves TX descriptor from TX ring structure
>
> @@ -231,7 +231,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> POSSIBILITY OF SUCH DAMAGE.
> @return Descriptor retrieved
> **/
> #define XGBE_TX_DESC(R, i) \
> - (&(((struct ixgbe_legacy_tx_desc *) ((R)-
> >UnmappedAddress))[i]))
> + (&(((struct ixgbe_legacy_tx_desc *)(UINTN)((R)-
> >UnmappedAddress))[i]))
>
> /** Retrieves UNDI_PRIVATE_DATA structure using NII Protocol 3.1
> instance
>
next prev parent reply other threads:[~2019-01-30 16:26 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-15 2:33 [PATCH edk2-staging 00/20] IntelUndiPkg/XGigUndiDxe: fix GCC / ARM build issues Ard Biesheuvel
2018-11-15 2:33 ` [PATCH edk2-staging 01/20] IntelUndiPkg/XGigUndiDxe: create GCC alternatives for MSFT build options Ard Biesheuvel
2019-01-30 15:41 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 02/20] IntelUndiPkg/XGigUndiDxe: move MSFT warning overrides to INF file Ard Biesheuvel
2019-01-30 15:44 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 03/20] IntelUndiPkg/XGigUndiDxe: consistently use forward slashes as path separators Ard Biesheuvel
2019-01-30 15:49 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 04/20] IntelUndiPkg/XGigUndiDxe: move BRAND_STRUCT declaration after type definition Ard Biesheuvel
2019-01-30 15:49 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 05/20] IntelUndiPkg/XGigUndiDxe: add missing VOID** cast Ard Biesheuvel
2019-01-30 15:51 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 06/20] IntelUndiPkg/XGigUndiDxe: add missing UINT8* cast Ard Biesheuvel
2019-01-30 15:51 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 07/20] IntelUndiPkg/XGigUndiDxe: drop definition of gImageHandle Ard Biesheuvel
2019-01-30 16:05 ` Ryszard Knop
2019-01-30 16:06 ` Ard Biesheuvel
2019-01-30 16:17 ` Ryszard Knop
2019-01-30 16:56 ` Andrew Fish
2018-11-15 2:33 ` [PATCH edk2-staging 08/20] IntelUndiPkg/XGigUndiDxe: add missing braces to GUID literals Ard Biesheuvel
2019-01-30 16:06 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 09/20] IntelUndiPkg/XGigUndiDxe: fix incorrect use of CPP token pasting Ard Biesheuvel
2019-01-30 16:06 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 10/20] IntelUndiPkg/XGigUndiDxe: drop StdLibC library class reference Ard Biesheuvel
2018-11-15 15:16 ` Carsey, Jaben
2019-01-30 17:26 ` Ryszard Knop
2019-01-30 18:34 ` Andrew Fish
2019-02-06 9:46 ` Ryszard Knop
2019-01-30 20:58 ` Kinney, Michael D
2019-02-06 10:14 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 11/20] IntelUndiPkg/XGigUndiDxe: cast XgbeMemCopy () args to correct pointer type Ard Biesheuvel
2019-01-30 16:20 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 12/20] IntelUndiPkg/XGigUndiDxe: don't take address of cast expression Ard Biesheuvel
2019-01-30 16:20 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 13/20] IntelUndiPkg/XGigUndiDxe: drop locally defined ASSERT() macro Ard Biesheuvel
2018-11-15 2:33 ` [PATCH edk2-staging 14/20] IntelUndiPkg/XGigUndiDxe: redefine UNREFERENCED_nPARAMETER macros for GCC Ard Biesheuvel
2019-01-30 16:22 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 15/20] IntelUndiPkg/XGigUndiDxe: use intermediate UINTN casts for pointers Ard Biesheuvel
2019-01-30 16:26 ` Ryszard Knop [this message]
2018-11-15 2:33 ` [PATCH edk2-staging 16/20] IntelUndiPkg/XGigUndiDxe: add missing EFIAPI modifiers Ard Biesheuvel
2019-01-30 16:27 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 17/20] IntelUndiPkg/XGigUndiDxe: drop unused variables Ard Biesheuvel
2019-01-30 16:39 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 18/20] IntelUndiPkg/XGigUndiDxe: set MDEPKG_NDEBUG only for RELEASE builds Ard Biesheuvel
2019-01-30 17:15 ` Ryszard Knop
2018-11-15 2:33 ` [PATCH edk2-staging 19/20] IntelUndiPkg/XGigUndiDxe: drop separate debug macros for DBG_LVL Ard Biesheuvel
2018-11-15 2:33 ` [PATCH edk2-staging 20/20] IntelUndiPkg/XGigUndiDxe: avoid unused var warnings for ERROR_REPORTn() Ard Biesheuvel
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=ed206d7b31f515235e21fbb839e6682a096cccd9.camel@linux.intel.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