[PATCH] Add build information to the beginning of the binary
Eugene Krasnikov
k.eugene.e at gmail.com
Mon May 6 08:12:54 EDT 2013
Hi Adrian,
What do you think about the idea behind this implementation?:)
2013/4/22 Eugene Krasnikov <k.eugene.e at gmail.com>:
> 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
--
Best regards,
Eugene
More information about the ath9k_htc_fw
mailing list