diff options
author | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-01-16 04:30:00 +0000 |
---|---|---|
committer | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-01-16 04:30:00 +0000 |
commit | 82902d0e9549999bb3324440738b42f6d741c67e (patch) | |
tree | 2977daa573a920d42a71a5aa8056634529661bf9 | |
parent | 76f1e96f8dc1882f9e992bdf80489929aa746a88 (diff) |
make the 'firmware object' files load the firmware blobs as read-only data
simplify the code that uses the firmware objects a bit
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@1826 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rwxr-xr-x | build_tools/make_firmware_object | 2 | ||||
-rw-r--r-- | wct4xxp/vpm450m.c | 17 |
2 files changed, 10 insertions, 9 deletions
diff --git a/build_tools/make_firmware_object b/build_tools/make_firmware_object index 1aadde3..b00c8f9 100755 --- a/build_tools/make_firmware_object +++ b/build_tools/make_firmware_object @@ -9,4 +9,4 @@ bfdname=`objdump -f ${3} | grep -e "${3}:" | sed "s/.*file format \(.*\)/\1/"` bfdarch=`objdump -f ${3} | grep -e "architecture:" | sed "s/.*ture: \(.*\),.*/\1/"` -objcopy -I binary ${1} -B ${bfdarch} -O ${bfdname} ${2} +objcopy -I binary ${1} -B ${bfdarch} -O ${bfdname} ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly diff --git a/wct4xxp/vpm450m.c b/wct4xxp/vpm450m.c index 5eb40eb..89874ac 100644 --- a/wct4xxp/vpm450m.c +++ b/wct4xxp/vpm450m.c @@ -12,11 +12,6 @@ #include <linux/time.h> #ifdef HOTPLUG_FIRMWARE #include <linux/firmware.h> -#else -extern unsigned char _binary_OCT6114_64D_ima_start; -extern unsigned int _binary_OCT6114_64D_ima_size; -extern unsigned char _binary_OCT6114_128D_ima_start; -extern unsigned int _binary_OCT6114_128D_ima_size; #endif #include "oct6100api/oct6100_api.h" @@ -44,7 +39,7 @@ UINT32 Oct6100UserMemSet(PVOID f_pAddress, UINT32 f_ulPattern, UINT32 f_ulLength return cOCT6100_ERR_OK; } -UINT32 Oct6100UserMemCopy(PVOID f_pDestination, PVOID f_pSource, UINT32 f_ulLength) +UINT32 Oct6100UserMemCopy(PVOID f_pDestination, const void *f_pSource, UINT32 f_ulLength) { memcpy(f_pDestination, f_pSource, f_ulLength); return cOCT6100_ERR_OK; @@ -411,10 +406,16 @@ struct vpm450m *init_vpm450m(void *wc, int *isalaw, int numspans) ChipOpen.ulImageSize = firmware->size; #else if (vpm450m->numchans > 64) { - ChipOpen.pbyImageFile = &_binary_OCT6114_128D_ima_start; + extern const unsigned char _binary_OCT6114_128D_ima_start[]; + extern const unsigned int _binary_OCT6114_128D_ima_size; + + ChipOpen.pbyImageFile = _binary_OCT6114_128D_ima_start; ChipOpen.ulImageSize = _binary_OCT6114_128D_ima_size; } else { - ChipOpen.pbyImageFile = &_binary_OCT6114_64D_ima_start; + extern const unsigned char _binary_OCT6114_64D_ima_start[]; + extern const unsigned int _binary_OCT6114_64D_ima_size; + + ChipOpen.pbyImageFile = _binary_OCT6114_64D_ima_start; ChipOpen.ulImageSize = _binary_OCT6114_64D_ima_size; } #endif |