diff --git a/target/linux/brcm63xx/files/arch/mips/include/asm/mach-bcm63xx/bcm_tag.h b/target/linux/brcm63xx/files/arch/mips/include/asm/mach-bcm63xx/bcm_tag.h index 89650d1ea..2730edc9a 100644 --- a/target/linux/brcm63xx/files/arch/mips/include/asm/mach-bcm63xx/bcm_tag.h +++ b/target/linux/brcm63xx/files/arch/mips/include/asm/mach-bcm63xx/bcm_tag.h @@ -61,8 +61,8 @@ struct bcm_tag { char imageCRC[CRC_LEN]; // 216-219: CRC32 of image less imagetag (kernel for Alice Gate) char rootfsCRC[CRC_LEN]; // 220-223: CRC32 of rootfs partition char kernelCRC[CRC_LEN]; // 224-227: CRC32 of kernel partition - char rootLength[4]; // 228-231: steal from reserved1 to keep the real root length so we can use in the flash map even after we have change the rootLength to 0 to satisfy devices that check CRC on every boot - char reserved1[4]; // 232-235: Unused at present + char imageSequence[4]; // 228-231: Image sequence number + char rootLength[4]; // 232-235: steal from reserved1 to keep the real root length so we can use in the flash map even after we have change the rootLength to 0 to satisfy devices that check CRC on every boot char headerCRC[CRC_LEN]; // 236-239: CRC32 of header excluding tagVersion char reserved2[16]; // 240-255: Unused at present }; diff --git a/target/linux/brcm63xx/patches-2.6.37/041-bcm963xx_real_rootfs_length.patch b/target/linux/brcm63xx/patches-2.6.37/041-bcm963xx_real_rootfs_length.patch index cde2b9223..dccd36f4a 100644 --- a/target/linux/brcm63xx/patches-2.6.37/041-bcm963xx_real_rootfs_length.patch +++ b/target/linux/brcm63xx/patches-2.6.37/041-bcm963xx_real_rootfs_length.patch @@ -6,10 +6,10 @@ char kernel_crc[CRC_LEN]; - /* 228-235: Unused at present */ - char reserved1[8]; -+ /* 228-231: OpenWrt: real rootfs length */ ++ /* 228-231: Image sequence number */ ++ char image_sequence[4]; ++ /* 222-235: Openwrt: real rootfs length */ + char real_rootfs_length[4]; -+ /* 222-235: Unused at present */ -+ char reserved1[4]; /* 236-239: CRC32 of header excluding tagVersion */ char header_crc[CRC_LEN]; /* 240-255: Unused at present */ diff --git a/tools/firmware-utils/src/imagetag.c b/tools/firmware-utils/src/imagetag.c index a7b9babd3..bebaba2f2 100644 --- a/tools/firmware-utils/src/imagetag.c +++ b/tools/firmware-utils/src/imagetag.c @@ -361,10 +361,6 @@ int tagfile(const char *kernel, const char *rootfs, const char *bin, \ strncpy(tag.information2, args->info2_arg, TAGINFO2_LEN); } - if (args->reserved1_given) { - strncpy(tag.reserved1, args->reserved1_arg, 8); - } - if (args->reserved2_given) { strncpy(tag.reserved2, args->reserved2_arg, 16); } diff --git a/tools/firmware-utils/src/imagetag.ggo b/tools/firmware-utils/src/imagetag.ggo index 4b9d5d361..7e8e7d90e 100644 --- a/tools/firmware-utils/src/imagetag.ggo +++ b/tools/firmware-utils/src/imagetag.ggo @@ -40,6 +40,5 @@ option "root-first" - "Put the rootfs before the kernel (only for stock images, option "rsa-signature" r "String for RSA Signature section." string optional option "second-image-flag" - "Dual Image Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional option "inactive" - "Inactive Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional -option "reserved1" - "String for first reserved section." string optional option "reserved2" - "String for second reserved section." string optional option "kernel-file-has-header" - "Indicates that the kernel file includes the kernel header with correct load address and entry point, so no changes are needed" flag off diff --git a/tools/firmware-utils/src/imagetag_cmdline.c b/tools/firmware-utils/src/imagetag_cmdline.c index 85f214bc6..91ac90b09 100644 --- a/tools/firmware-utils/src/imagetag_cmdline.c +++ b/tools/firmware-utils/src/imagetag_cmdline.c @@ -56,7 +56,6 @@ const char *gengetopt_args_info_help[] = { " -r, --rsa-signature=STRING String for RSA Signature section.", " --second-image-flag=flag-value\n Dual Image Flag (2=not-specified). (possible \n values=\"0\", \"1\", \"2\" default=`2')", " --inactive=flag-value Inactive Flag (2=not-specified). (possible \n values=\"0\", \"1\", \"2\" default=`2')", - " --reserved1=STRING String for first reserved section.", " --reserved2=STRING String for second reserved section.", " --kernel-file-has-header Indicates that the kernel file includes the \n kernel header with correct load address and \n entry point, so no changes are needed \n (default=off)", 0 @@ -112,7 +111,6 @@ void clear_given (struct gengetopt_args_info *args_info) args_info->rsa_signature_given = 0 ; args_info->second_image_flag_given = 0 ; args_info->inactive_given = 0 ; - args_info->reserved1_given = 0 ; args_info->reserved2_given = 0 ; args_info->kernel_file_has_header_given = 0 ; } @@ -164,8 +162,6 @@ void clear_args (struct gengetopt_args_info *args_info) args_info->second_image_flag_orig = NULL; args_info->inactive_arg = gengetopt_strdup ("2"); args_info->inactive_orig = NULL; - args_info->reserved1_arg = NULL; - args_info->reserved1_orig = NULL; args_info->reserved2_arg = NULL; args_info->reserved2_orig = NULL; args_info->kernel_file_has_header_flag = 0; @@ -201,9 +197,8 @@ void init_args_info(struct gengetopt_args_info *args_info) args_info->rsa_signature_help = gengetopt_args_info_help[21] ; args_info->second_image_flag_help = gengetopt_args_info_help[22] ; args_info->inactive_help = gengetopt_args_info_help[23] ; - args_info->reserved1_help = gengetopt_args_info_help[24] ; - args_info->reserved2_help = gengetopt_args_info_help[25] ; - args_info->kernel_file_has_header_help = gengetopt_args_info_help[26] ; + args_info->reserved2_help = gengetopt_args_info_help[24] ; + args_info->kernel_file_has_header_help = gengetopt_args_info_help[25] ; } @@ -326,8 +321,6 @@ cmdline_parser_release (struct gengetopt_args_info *args_info) free_string_field (&(args_info->second_image_flag_orig)); free_string_field (&(args_info->inactive_arg)); free_string_field (&(args_info->inactive_orig)); - free_string_field (&(args_info->reserved1_arg)); - free_string_field (&(args_info->reserved1_orig)); free_string_field (&(args_info->reserved2_arg)); free_string_field (&(args_info->reserved2_orig)); @@ -449,8 +442,6 @@ cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info) write_into_file(outfile, "second-image-flag", args_info->second_image_flag_orig, cmdline_parser_second_image_flag_values); if (args_info->inactive_given) write_into_file(outfile, "inactive", args_info->inactive_orig, cmdline_parser_inactive_values); - if (args_info->reserved1_given) - write_into_file(outfile, "reserved1", args_info->reserved1_orig, 0); if (args_info->reserved2_given) write_into_file(outfile, "reserved2", args_info->reserved2_orig, 0); if (args_info->kernel_file_has_header_given) @@ -794,7 +785,6 @@ cmdline_parser_internal ( { "rsa-signature", 1, NULL, 'r' }, { "second-image-flag", 1, NULL, 0 }, { "inactive", 1, NULL, 0 }, - { "reserved1", 1, NULL, 0 }, { "reserved2", 1, NULL, 0 }, { "kernel-file-has-header", 0, NULL, 0 }, { 0, 0, 0, 0 } @@ -1089,20 +1079,6 @@ cmdline_parser_internal ( additional_error)) goto failure; - } - /* String for first reserved section.. */ - else if (strcmp (long_options[option_index].name, "reserved1") == 0) - { - - - if (update_arg( (void *)&(args_info->reserved1_arg), - &(args_info->reserved1_orig), &(args_info->reserved1_given), - &(local_args_info.reserved1_given), optarg, 0, 0, ARG_STRING, - check_ambiguity, override, 0, 0, - "reserved1", '-', - additional_error)) - goto failure; - } /* String for second reserved section.. */ else if (strcmp (long_options[option_index].name, "reserved2") == 0) diff --git a/tools/firmware-utils/src/imagetag_cmdline.h b/tools/firmware-utils/src/imagetag_cmdline.h index a38914841..c566a9f29 100644 --- a/tools/firmware-utils/src/imagetag_cmdline.h +++ b/tools/firmware-utils/src/imagetag_cmdline.h @@ -104,9 +104,6 @@ struct gengetopt_args_info char * inactive_arg; /**< @brief Inactive Flag (2=not-specified). (default='2'). */ char * inactive_orig; /**< @brief Inactive Flag (2=not-specified). original value given at command line. */ const char *inactive_help; /**< @brief Inactive Flag (2=not-specified). help description. */ - char * reserved1_arg; /**< @brief String for first reserved section.. */ - char * reserved1_orig; /**< @brief String for first reserved section. original value given at command line. */ - const char *reserved1_help; /**< @brief String for first reserved section. help description. */ char * reserved2_arg; /**< @brief String for second reserved section.. */ char * reserved2_orig; /**< @brief String for second reserved section. original value given at command line. */ const char *reserved2_help; /**< @brief String for second reserved section. help description. */ @@ -137,7 +134,6 @@ struct gengetopt_args_info unsigned int rsa_signature_given ; /**< @brief Whether rsa-signature was given. */ unsigned int second_image_flag_given ; /**< @brief Whether second-image-flag was given. */ unsigned int inactive_given ; /**< @brief Whether inactive was given. */ - unsigned int reserved1_given ; /**< @brief Whether reserved1 was given. */ unsigned int reserved2_given ; /**< @brief Whether reserved2 was given. */ unsigned int kernel_file_has_header_given ; /**< @brief Whether kernel-file-has-header was given. */