Hi,

Please help to review the two patches. Thanks!:)

Regards,
Qianyu

-----Original Message-----
From: Gong Qianyu [mailto:qianyu.g...@freescale.com] 
Sent: Thursday, July 30, 2015 2:07 PM
To: u-boot@lists.denx.de
Cc: Hu Mingkai-B21284; Gong Qianyu-B52263
Subject: [PATCH 1/2] spl: Fix compile warning for arm64

Make the cast explicit for "warning: cast to pointer from integer of different 
size".

Signed-off-by: Gong Qianyu <qianyu.g...@freescale.com>

diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 494f683..ce58c58 
100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -44,7 +44,7 @@ static int mmc_load_image_raw_sector(struct mmc *mmc, 
unsigned long sector)
 
        /* Read the header too to avoid extra memcpy */
        count = mmc->block_dev.block_read(0, sector, image_size_sectors,
-                                         (void *)spl_image.load_addr);
+                                         (void *)(ulong)spl_image.load_addr);
        debug("read %x sectors to %x\n", image_size_sectors,
              spl_image.load_addr);
 
--
2.1.0.27.g96db324

-----Original Message-----
From: Gong Qianyu [mailto:qianyu.g...@freescale.com] 
Sent: Thursday, July 30, 2015 2:00 PM
To: u-boot@lists.denx.de
Cc: Hu Mingkai-B21284; Gong Qianyu-B52263
Subject: [PATCH 2/2] common/cmd_source.c: Fix the source command failure under 
64-bit platform

Modify the data pointer type from ulong* to u32*.

For arm64 type "ulong" could be 64-bit. Then in line 89 of common/cmd_source.c:
"while (*data++);" data will point to the next 64 bits each time. As the uImage 
file generated by mkimage tool keeps the same data format in either 32-bit or 
64-bit platform, the difference would cause failure in 64-bit platform.

Signed-off-by: Gong Qianyu <qianyu.g...@freescale.com>

diff --git a/common/cmd_source.c b/common/cmd_source.c index d2a881d..db7ab7e 
100644
--- a/common/cmd_source.c
+++ b/common/cmd_source.c
@@ -33,7 +33,7 @@ source (ulong addr, const char *fit_uname)  #if 
defined(CONFIG_IMAGE_FORMAT_LEGACY)
        const image_header_t *hdr;
 #endif
-       ulong           *data;
+       u32             *data;
        int             verify;
        void *buf;
 #if defined(CONFIG_FIT)
@@ -74,7 +74,7 @@ source (ulong addr, const char *fit_uname)
                }
 
                /* get length of script */
-               data = (ulong *)image_get_data (hdr);
+               data = (u32 *)image_get_data (hdr);
 
                if ((len = uimage_to_cpu (*data)) == 0) {
                        puts ("Empty Script\n");
@@ -128,7 +128,7 @@ source (ulong addr, const char *fit_uname)
                        return 1;
                }
 
-               data = (ulong *)fit_data;
+               data = (u32 *)fit_data;
                len = (ulong)fit_len;
                break;
 #endif
--
2.1.0.27.g96db324

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to