tools/mkimage: Update U-Boot to version 2019.07
[openwrt/staging/chunkeey.git] / tools / mkimage / patches / 050-image_h_portability.patch
index dabab3990805290c0e3679c31259199b9f6890f5..5b47f80cbb49fbf3f5974418d1ee076e14988010 100644 (file)
@@ -1,14 +1,24 @@
+Some of the Linux header files are not available on non Linux host
+systems like FreeBSD or MacOSX.
+
+The __le32 and __be32 types are only defined in Linux in
+asm/byteorder.h, but not on all other BSD systems.
+Use uint32_t instead of __le32 and __be32.
+
+__swab32 is also a Linux only function, it looks like be32_to_cpu()
+would be better here anyway.
+
 --- a/include/image.h
 +++ b/include/image.h
-@@ -17,7 +17,6 @@
+@@ -16,7 +16,6 @@
  #define __IMAGE_H__
  
  #include "compiler.h"
 -#include <asm/byteorder.h>
+ #include <stdbool.h>
  
  /* Define this to avoid #ifdefs later on */
- struct lmb;
-@@ -308,13 +307,13 @@ enum {
+@@ -317,13 +316,13 @@ enum {
   * all data in network byte order (aka natural aka bigendian).
   */
  typedef struct image_header {
        uint8_t         ih_os;          /* Operating System             */
        uint8_t         ih_arch;        /* CPU architecture             */
        uint8_t         ih_type;        /* Image Type                   */
+--- a/tools/mtk_image.h
++++ b/tools/mtk_image.h
+@@ -15,8 +15,8 @@
+ union gen_boot_header {
+       struct {
+               char name[12];
+-              __le32 version;
+-              __le32 size;
++              uint32_t version;
++              uint32_t size;
+       };
+       uint8_t pad[0x200];
+@@ -32,14 +32,14 @@ union nand_boot_header {
+               char name[12];
+               char version[4];
+               char id[8];
+-              __le16 ioif;
+-              __le16 pagesize;
+-              __le16 addrcycles;
+-              __le16 oobsize;
+-              __le16 pages_of_block;
+-              __le16 numblocks;
+-              __le16 writesize_shift;
+-              __le16 erasesize_shift;
++              uint16_t ioif;
++              uint16_t pagesize;
++              uint16_t addrcycles;
++              uint16_t oobsize;
++              uint16_t pages_of_block;
++              uint16_t numblocks;
++              uint16_t writesize_shift;
++              uint16_t erasesize_shift;
+               uint8_t dummy[60];
+               uint8_t ecc_parity[28];
+       };
+@@ -54,14 +54,14 @@ union nand_boot_header {
+ /* BootROM layout header */
+ struct brom_layout_header {
+       char name[8];
+-      __le32 version;
+-      __le32 header_size;
+-      __le32 total_size;
+-      __le32 magic;
+-      __le32 type;
+-      __le32 header_size_2;
+-      __le32 total_size_2;
+-      __le32 unused;
++      uint32_t version;
++      uint32_t header_size;
++      uint32_t total_size;
++      uint32_t magic;
++      uint32_t type;
++      uint32_t header_size_2;
++      uint32_t total_size_2;
++      uint32_t unused;
+ };
+ #define BRLYT_NAME            "BRLYT"
+@@ -90,8 +90,8 @@ struct gen_device_header {
+ struct gfh_common_header {
+       uint8_t magic[3];
+       uint8_t version;
+-      __le16 size;
+-      __le16 type;
++      uint16_t size;
++      uint16_t type;
+ };
+ #define GFH_HEADER_MAGIC      "MMM"
+@@ -106,17 +106,17 @@ struct gfh_common_header {
+ struct gfh_file_info {
+       struct gfh_common_header gfh;
+       char name[12];
+-      __le32 unused;
+-      __le16 file_type;
++      uint32_t unused;
++      uint16_t file_type;
+       uint8_t flash_type;
+       uint8_t sig_type;
+-      __le32 load_addr;
+-      __le32 total_size;
+-      __le32 max_size;
+-      __le32 hdr_size;
+-      __le32 sig_size;
+-      __le32 jump_offset;
+-      __le32 processed;
++      uint32_t load_addr;
++      uint32_t total_size;
++      uint32_t max_size;
++      uint32_t hdr_size;
++      uint32_t sig_size;
++      uint32_t jump_offset;
++      uint32_t processed;
+ };
+ #define GFH_FILE_INFO_NAME    "FILE_INFO"
+@@ -129,16 +129,16 @@ struct gfh_file_info {
+ struct gfh_bl_info {
+       struct gfh_common_header gfh;
+-      __le32 attr;
++      uint32_t attr;
+ };
+ struct gfh_brom_cfg {
+       struct gfh_common_header gfh;
+-      __le32 cfg_bits;
+-      __le32 usbdl_by_auto_detect_timeout_ms;
++      uint32_t cfg_bits;
++      uint32_t usbdl_by_auto_detect_timeout_ms;
+       uint8_t unused[0x48];
+-      __le32 usbdl_by_kcol0_timeout_ms;
+-      __le32 usbdl_by_flag_timeout_ms;
++      uint32_t usbdl_by_kcol0_timeout_ms;
++      uint32_t usbdl_by_flag_timeout_ms;
+       uint32_t pad;
+ };
+@@ -157,15 +157,15 @@ struct gfh_anti_clone {
+       uint8_t ac_b2k;
+       uint8_t ac_b2c;
+       uint16_t pad;
+-      __le32 ac_offset;
+-      __le32 ac_len;
++      uint32_t ac_offset;
++      uint32_t ac_len;
+ };
+ struct gfh_brom_sec_cfg {
+       struct gfh_common_header gfh;
+-      __le32 cfg_bits;
++      uint32_t cfg_bits;
+       char customer_name[0x20];
+-      __le32 pad;
++      uint32_t pad;
+ };
+ #define BROM_SEC_CFG_JTAG_EN  1
+@@ -184,11 +184,11 @@ struct gfh_header {
+ union lk_hdr {
+       struct {
+-              __le32 magic;
+-              __le32 size;
++              uint32_t magic;
++              uint32_t size;
+               char name[32];
+-              __le32 loadaddr;
+-              __le32 mode;
++              uint32_t loadaddr;
++              uint32_t mode;
+       };
+       uint8_t data[512];
+--- a/tools/zynqmpbif.c
++++ b/tools/zynqmpbif.c
+@@ -517,7 +517,7 @@ static int bif_add_bit(struct bif_entry
+       debug("Bitstream Length: 0x%x\n", bitlen);
+       for (i = 0; i < bitlen; i += sizeof(uint32_t)) {
+               uint32_t *bitbin32 = (uint32_t *)&bitbin[i];
+-              *bitbin32 = __swab32(*bitbin32);
++              *bitbin32 = be32_to_cpu(*bitbin32);
+       }
+       if (!bf->dest_dev)