[PATCH] Add build information to the beginning of the binary

Eugene Krasnikov k.eugene.e at gmail.com
Mon Apr 22 15:13:50 EDT 2013


Please let me know if you want me to attach driver patch. Also on top
of this i can add one more patch to generate 2 binaries with and
without build information if needed.

2013/4/22 Eugene Krasnikov <k.eugene.e at gmail.com>:
> Hi Adrian and All,
>
> This is a draft version of the patch that will add build information
> to the beginning of the binary file. This patch is not ideal so i will
> rework it later but it is more about showing the concept. So please
> feedback?:)
>
> As soon as we agree on concept i'll send out final patch.
>
> 2013/4/22 Eugene Krasnikov <k.eugene.e at gmail.com>:
>> With this commit both htc_9271.fw and htc_7010.fw will have build
>> information in the beginning of the file. Driver can read this
>> information even before loading fw to the chip.
>>
>> Build information format:
>>         u32     major;
>>         u32     minor;
>>         u32     tag;
>>         char    commit_id[40];
>>         char    user_name[32];
>>
>> Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
>> ---
>>  .../magpie_fw_dev/build/utility/athfw2lnx/Makefile |    2 +-
>>  .../build/utility/athfw2lnx/athfw2lnx.c            |   21 ++++++++++++++++++++
>>  2 files changed, 22 insertions(+), 1 deletion(-)
>>
>> diff --git a/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/Makefile b/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/Makefile
>> index f13c296..e5957f9 100644
>> --- a/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/Makefile
>> +++ b/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/Makefile
>> @@ -5,7 +5,7 @@ $(error "ERROR: usage: make ATH_FW=fw.c")
>>  endif
>>
>>  athfw2lnx: athfw2lnx.c $(ATH_FW)
>> -       gcc -o $@ athfw2lnx.c $(ATH_FW)
>> +       gcc -o $@ athfw2lnx.c $(ATH_FW) -DHOSTNAME=\"$(shell hostname)\"  -DCOMMIT_HASH=\"$(shell git rev-parse --short HEAD)\"
>>
>>  clean:
>>         rm -f athfw2lnx
>> diff --git a/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/athfw2lnx.c b/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/athfw2lnx.c
>> index aa74e8f..1513f14 100644
>> --- a/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/athfw2lnx.c
>> +++ b/target_firmware/magpie_fw_dev/build/utility/athfw2lnx/athfw2lnx.c
>> @@ -35,14 +35,35 @@
>>  #include <sys/stat.h>
>>  #include <fcntl.h>
>>  #include <stdint.h>
>> +#include <string.h>
>>
>>  /* These names may vary but this is typical */
>>  extern const uint32_t zcFwImage[];
>>  extern const uint32_t zcFwImageSize;
>>
>> +#define WLAN_BUILD_VER_MAJOR 1
>> +#define WLAN_BUILD_VER_MINOR 1
>> +#define WLAN_BUILD_VER_TAG 1
>> +
>> +struct build_info {
>> +       uint32_t        major;
>> +       uint32_t        minor;
>> +       uint32_t        tag;
>> +       char            commit_id[40];
>> +       char            user_name[32];
>> +};
>>  int main()
>>  {
>>         uint32_t i;
>> +       struct build_info binfo;
>> +
>> +       binfo.major     = WLAN_BUILD_VER_MAJOR;
>> +       binfo.minor     = WLAN_BUILD_VER_MINOR;
>> +       binfo.tag       = WLAN_BUILD_VER_TAG;
>> +       memcpy(binfo.user_name, HOSTNAME, strlen(HOSTNAME));
>> +       memcpy(binfo.commit_id, COMMIT_HASH, strlen(COMMIT_HASH));
>> +       write(1, &binfo, sizeof(binfo));
>> +
>>         for (i = 0; i < zcFwImageSize/4; i++)
>>                 write(1, &zcFwImage[i], 4);
>>  }
>> --
>> 1.7.9.5
>>
>
>
>
> --
> Best regards,
> Eugene



-- 
Best regards,
Eugene



More information about the ath9k_htc_fw mailing list