diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2019-05-11 16:57:15 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-09-04 22:35:22 +0200 |
commit | 169152c8d118408ba62788a1e6b9eae368dc8b79 (patch) | |
tree | 9e4187f7891564f63be7dcbccf0b47ddf6fc63ed /tools/mkimage/patches/050-image_h_portability.patch | |
parent | 662394fb30fdbcc89ec387918714aebee6868a9f (diff) | |
download | upstream-169152c8d118408ba62788a1e6b9eae368dc8b79.tar.gz upstream-169152c8d118408ba62788a1e6b9eae368dc8b79.tar.bz2 upstream-169152c8d118408ba62788a1e6b9eae368dc8b79.zip |
tools/mkimage: Update U-Boot to version 2019.07
This updates the U-Boot which provides the host tools like mkimage to
version 2019.07.
The patches were cleaned up and it was checked if this still compiles
on Linux and FreeBSD.
CONFIG_FIT_SIGNATURE_MAX_SIZE is set to the default value.
The patch for libressl was merged upstream.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'tools/mkimage/patches/050-image_h_portability.patch')
-rw-r--r-- | tools/mkimage/patches/050-image_h_portability.patch | 182 |
1 files changed, 179 insertions, 3 deletions
diff --git a/tools/mkimage/patches/050-image_h_portability.patch b/tools/mkimage/patches/050-image_h_portability.patch index dabab39908..5b47f80cbb 100644 --- a/tools/mkimage/patches/050-image_h_portability.patch +++ b/tools/mkimage/patches/050-image_h_portability.patch @@ -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 { @@ -29,3 +39,169 @@ 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) |