diff options
author | Rom Lemarchand <romlem@android.com> | 2015-05-07 14:08:31 -0700 |
---|---|---|
committer | Rom Lemarchand <romlem@google.com> | 2015-05-07 15:36:28 -0700 |
commit | e98bfaeb087123cca0b4e02c08d2ece86bb56458 (patch) | |
tree | 923c49b47ccd48518044e46b046b6b0bcb9a943f /mkbootimg | |
parent | 9d84030109674d2f9d697ad7a3962b8ffd92b36e (diff) | |
download | core-e98bfaeb087123cca0b4e02c08d2ece86bb56458.tar.gz core-e98bfaeb087123cca0b4e02c08d2ece86bb56458.tar.bz2 core-e98bfaeb087123cca0b4e02c08d2ece86bb56458.zip |
mkbootimg: use fixed-size types for image format
Change-Id: I471ef420c3944b3ffefdba9ca7122c6a7f09e5ac
Diffstat (limited to 'mkbootimg')
-rw-r--r-- | mkbootimg/bootimg.h | 32 | ||||
-rw-r--r-- | mkbootimg/mkbootimg.c | 26 |
2 files changed, 30 insertions, 28 deletions
diff --git a/mkbootimg/bootimg.h b/mkbootimg/bootimg.h index 9171d85a7..5ab619599 100644 --- a/mkbootimg/bootimg.h +++ b/mkbootimg/bootimg.h @@ -15,6 +15,8 @@ ** limitations under the License. */ +#include <stdint.h> + #ifndef _BOOT_IMAGE_H_ #define _BOOT_IMAGE_H_ @@ -28,31 +30,31 @@ typedef struct boot_img_hdr boot_img_hdr; struct boot_img_hdr { - unsigned char magic[BOOT_MAGIC_SIZE]; + uint8_t magic[BOOT_MAGIC_SIZE]; - unsigned kernel_size; /* size in bytes */ - unsigned kernel_addr; /* physical load addr */ + uint32_t kernel_size; /* size in bytes */ + uint32_t kernel_addr; /* physical load addr */ - unsigned ramdisk_size; /* size in bytes */ - unsigned ramdisk_addr; /* physical load addr */ + uint32_t ramdisk_size; /* size in bytes */ + uint32_t ramdisk_addr; /* physical load addr */ - unsigned second_size; /* size in bytes */ - unsigned second_addr; /* physical load addr */ + uint32_t second_size; /* size in bytes */ + uint32_t second_addr; /* physical load addr */ - unsigned tags_addr; /* physical addr for kernel tags */ - unsigned page_size; /* flash page size we assume */ - unsigned unused[2]; /* future expansion: should be 0 */ + uint32_t tags_addr; /* physical addr for kernel tags */ + uint32_t page_size; /* flash page size we assume */ + uint32_t unused[2]; /* future expansion: should be 0 */ - unsigned char name[BOOT_NAME_SIZE]; /* asciiz product name */ + uint8_t name[BOOT_NAME_SIZE]; /* asciiz product name */ - unsigned char cmdline[BOOT_ARGS_SIZE]; + uint8_t cmdline[BOOT_ARGS_SIZE]; - unsigned id[8]; /* timestamp / checksum / sha1 / etc */ + uint32_t id[8]; /* timestamp / checksum / sha1 / etc */ /* Supplemental command line data; kept here to maintain * binary compatibility with older versions of mkbootimg */ - unsigned char extra_cmdline[BOOT_EXTRA_ARGS_SIZE]; -}; + uint8_t extra_cmdline[BOOT_EXTRA_ARGS_SIZE]; +} __attribute__((packed)); /* ** +-----------------+ diff --git a/mkbootimg/mkbootimg.c b/mkbootimg/mkbootimg.c index a4ab7e168..4a173bca5 100644 --- a/mkbootimg/mkbootimg.c +++ b/mkbootimg/mkbootimg.c @@ -96,24 +96,24 @@ int main(int argc, char **argv) { boot_img_hdr hdr; - char *kernel_fn = 0; - void *kernel_data = 0; - char *ramdisk_fn = 0; - void *ramdisk_data = 0; - char *second_fn = 0; - void *second_data = 0; + char *kernel_fn = NULL; + void *kernel_data = NULL; + char *ramdisk_fn = NULL; + void *ramdisk_data = NULL; + char *second_fn = NULL; + void *second_data = NULL; char *cmdline = ""; - char *bootimg = 0; + char *bootimg = NULL; char *board = ""; - unsigned pagesize = 2048; + uint32_t pagesize = 2048; int fd; SHA_CTX ctx; const uint8_t* sha; - unsigned base = 0x10000000; - unsigned kernel_offset = 0x00008000; - unsigned ramdisk_offset = 0x01000000; - unsigned second_offset = 0x00f00000; - unsigned tags_offset = 0x00000100; + uint32_t base = 0x10000000U; + uint32_t kernel_offset = 0x00008000U; + uint32_t ramdisk_offset = 0x01000000U; + uint32_t second_offset = 0x00f00000U; + uint32_t tags_offset = 0x00000100U; size_t cmdlen; argc--; |