diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch deleted file mode 100644 index 35bb766a7..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch +++ /dev/null @@ -1,108 +0,0 @@ -From cc5e7b02a3be57709a1aed6e34be100b82a71620 Mon Sep 17 00:00:00 2001 -From: David Ng <dave@codeaurora.org> -Date: Fri, 27 Jul 2012 17:15:03 -0700 -Subject: [PATCH 1/2] mkbootimg: Add --dt parameter to specify DT image - -New optional --dt parameter to specify a kernel device -tree image. - -Change-Id: Ie29a11cbf4138426bfd19ae486d69a5fcbd8f442 - -Upstream-Status: Inappropriate ---- - system/core/mkbootimg/bootimg.h | 7 +++++-- - system/core/mkbootimg/mkbootimg.c | 21 +++++++++++++++++++++ - 2 files changed, 26 insertions(+), 2 deletions(-) - ---- a/system/core/mkbootimg/bootimg.h -+++ b/system/core/mkbootimg/bootimg.h -@@ -41,8 +41,8 @@ struct boot_img_hdr - - unsigned tags_addr; /* physical addr for kernel tags */ - unsigned page_size; /* flash page size we assume */ -- unsigned unused[2]; /* future expansion: should be 0 */ -- -+ unsigned dt_size; /* device tree in bytes */ -+ unsigned unused; /* future expansion: should be 0 */ - unsigned char name[BOOT_NAME_SIZE]; /* asciiz product name */ - - unsigned char cmdline[BOOT_ARGS_SIZE]; -@@ -64,10 +64,13 @@ struct boot_img_hdr - ** +-----------------+ - ** | second stage | o pages - ** +-----------------+ -+** | device tree | p pages -+** +-----------------+ - ** - ** n = (kernel_size + page_size - 1) / page_size - ** m = (ramdisk_size + page_size - 1) / page_size - ** o = (second_size + page_size - 1) / page_size -+** p = (dt_size + page_size - 1) / page_size - ** - ** 0. all entities are page_size aligned in flash - ** 1. kernel and ramdisk are required (size != 0) ---- a/system/core/mkbootimg/mkbootimg.c -+++ b/system/core/mkbootimg/mkbootimg.c -@@ -65,6 +65,7 @@ int usage(void) - " [ --board <boardname> ]\n" - " [ --base <address> ]\n" - " [ --pagesize <pagesize> ]\n" -+ " [ --dt <filename> ]\n" - " -o|--output <filename>\n" - ); - return 1; -@@ -105,6 +106,8 @@ int main(int argc, char **argv) - char *cmdline = ""; - char *bootimg = 0; - char *board = ""; -+ char *dt_fn = 0; -+ void *dt_data = 0; - unsigned pagesize = 2048; - int fd; - SHA_CTX ctx; -@@ -158,6 +161,8 @@ int main(int argc, char **argv) - fprintf(stderr,"error: unsupported page size %d\n", pagesize); - return -1; - } -+ } else if(!strcmp(arg, "--dt")) { -+ dt_fn = val; - } else { - return usage(); - } -@@ -232,6 +237,14 @@ int main(int argc, char **argv) - } - } - -+ if(dt_fn) { -+ dt_data = load_file(dt_fn, &hdr.dt_size); -+ if (dt_data == 0) { -+ fprintf(stderr,"error: could not load device tree image '%s'\n", dt_fn); -+ return 1; -+ } -+ } -+ - /* put a hash of the contents in the header so boot images can be - * differentiated based on their first 2k. - */ -@@ -242,6 +255,10 @@ int main(int argc, char **argv) - SHA_update(&ctx, &hdr.ramdisk_size, sizeof(hdr.ramdisk_size)); - SHA_update(&ctx, second_data, hdr.second_size); - SHA_update(&ctx, &hdr.second_size, sizeof(hdr.second_size)); -+ if(dt_data) { -+ SHA_update(&ctx, dt_data, hdr.dt_size); -+ SHA_update(&ctx, &hdr.dt_size, sizeof(hdr.dt_size)); -+ } - sha = SHA_final(&ctx); - memcpy(hdr.id, sha, - SHA_DIGEST_SIZE > sizeof(hdr.id) ? sizeof(hdr.id) : SHA_DIGEST_SIZE); -@@ -266,6 +283,10 @@ int main(int argc, char **argv) - if(write_padding(fd, pagesize, hdr.second_size)) goto fail; - } - -+ if(dt_data) { -+ if(write(fd, dt_data, hdr.dt_size) != (ssize_t) hdr.dt_size) goto fail; -+ if(write_padding(fd, pagesize, hdr.dt_size)) goto fail; -+ } - return 0; - - fail: |