X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fmagpie_fw_dev%2Fbuild%2Futility%2Fpatch_gen%2Fpatch.c;fp=target_firmware%2Fmagpie_fw_dev%2Fbuild%2Futility%2Fpatch_gen%2Fpatch.c;h=0000000000000000000000000000000000000000;hb=ff66305a044be28464fa0969ea2d605bb268d478;hp=af571dffaaa8a46aa05005ec7707aec013a9450b;hpb=60b496560eec004ded92ae4dad43b3d102c6658d;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/magpie_fw_dev/build/utility/patch_gen/patch.c b/target_firmware/magpie_fw_dev/build/utility/patch_gen/patch.c deleted file mode 100755 index af571df..0000000 --- a/target_firmware/magpie_fw_dev/build/utility/patch_gen/patch.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (c) 2013 Qualcomm Atheros, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted (subject to the limitations in the - * disclaimer below) provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the - * distribution. - * - * * Neither the name of Qualcomm Atheros nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE - * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT - * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include -#include "dt_defs.h" -#include "patch.h" - -//extern unsigned short m_crc16ccitt; -uint16_t uRead = 0; -uint8_t patchBuf[SIZE_HASH_BUFFER]; - - -int db_ascii_to_hex(char* num_str, unsigned long* hex_num) -{ - int i = 0; - - *hex_num = 0; - while (num_str[i]) - { - if ((num_str[i] >= '0') && (num_str[i] <= '9')) - { - *hex_num <<= 4; - *hex_num += (num_str[i] - '0'); - } - else if ((num_str[i] >= 'A') && (num_str[i] <= 'F')) - { - *hex_num <<= 4; - *hex_num += (num_str[i] - 'A' + 10); - } - else if ((num_str[i] >= 'a') && (num_str[i] <= 'f')) - { - *hex_num <<= 4; - *hex_num += (num_str[i] - 'a' + 10); - } - else - { - return -1; - } - i++; - } - return 0; -} - - -#if 0 -void dump_hex(uint8_t *buf, uint16_t size) -{ - uint16_t i=0; - - - for(i=0; i0) && (i%8==0) ) - printf("- "); - - printf("%02x ", buf[i]); - } -} -#endif - - -BOOLEAN gen_patch_item(struct rom_patch_st *patch, uint8_t *file_name) -{ - BOOLEAN retVal = FALSE; - FILE *in; - uint8_t *ptr; - uint16_t size = 0; - - if((in = fopen(file_name,"rb")) != NULL) - retVal = TRUE; - else - goto ERR_DONE; - - ptr = patchBuf; - while (1) - { - ptr += uRead; - uRead = fread(ptr, 1, SIZE_HASH_BUFFER, in); - - // debug to dump the data we read - //dump_hex(ptr, uRead); - - patch->len += uRead; - - if(uRead != SIZE_HASH_BUFFER) - break; - } - - memcpy(patch->fun, patchBuf, patch->len); - patch->crc16 = patch->len; // bugs? workaround? - - printf("\n\n"); - - fclose(in); -ERR_DONE: - - return retVal; -} - -BOOLEAN _patch_init(struct rom_patch_st *patch) -{ - // init the pact_pack - //memset((uint8_t *)patch_patck, 0x0, sizeof(struct rom_patch_pack_st)); - patch->crc16 = 0; - patch->len = 0; - patch->ld_addr = 0; - patch->fun_addr = 0; - patch->fun = NULL; - - return TRUE; -} - -void _patch_dump(struct rom_patch_st *patch) -{ - printf(" -----------------------------\n\r"); - printf(" patch code crc: 0x%04x\n\r", patch->crc16); - printf(" patch code size: %d\n\r", patch->len); - printf(" patch ld_addr: 0x%08x\n\r", patch->ld_addr); - printf(" patch fun_addr: 0x%08x\n\r", patch->fun_addr); - printf(" -----------------------------\n\r"); -} - - -BOOLEAN _patch_oepn(uint8_t *buf, uint8_t *mFile) -{ - FILE *in; - BOOLEAN retVal = FALSE; - uint16_t offset = 0; - - if((in = fopen(mFile,"rb")) != NULL) - { - printf("%s is opened successful!\n\r", mFile); - retVal = TRUE; - } - else - goto ERROR; - - while (1) - { - uRead = fread(buf+offset, 1, SIZE_HASH_BUFFER, in); - - // debug to dump the data we read - //dump_hex(buf+offset, uRead); - - offset += uRead; - if(uRead != SIZE_HASH_BUFFER) break; - - } -ERROR: - if(in) - close(in); - - return retVal; -} - -uint32_t _patch_append(uint8_t *buf, struct rom_patch_st *patch) -{ - - memcpy(buf, (uint8_t *)patch, (sizeof(struct rom_patch_st)-4)); - memcpy(buf+(sizeof(struct rom_patch_st)-4), patch->fun, patch->len); - - return 0; -} - -