summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/pp
diff options
context:
space:
mode:
authorJames Buren <braewoods+rb@braewoods.net>2021-06-21 09:36:54 +0000
committerJames Buren <braewoods+rb@braewoods.net>2021-06-21 09:36:54 +0000
commit581081a3df072833ab22a58af574992820c2ae8f (patch)
tree741a88ef6978b85f62468146ffbcb948a4341139 /firmware/target/arm/pp
parentfc9208108052440ccde79b6cd33e3598e8fb7c26 (diff)
downloadrockbox-581081a3df072833ab22a58af574992820c2ae8f.tar.gz
rockbox-581081a3df072833ab22a58af574992820c2ae8f.zip
mi4: replace chksum_crc32 with crc_32r
This uses an equivalent algorithm but with a different initial value than we normally use (all bits off vs all bits on). Use the new crc_32r to replace the original MI4 crc32 implementation. This frees up some extra space on mi4 targets which gives us more room on a few very space constrained targets (sansa c200/e200, etc). Change-Id: Iaaac3ae353b30566156b1404cbf31ca32926203d
Diffstat (limited to 'firmware/target/arm/pp')
-rw-r--r--firmware/target/arm/pp/mi4-loader.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/firmware/target/arm/pp/mi4-loader.c b/firmware/target/arm/pp/mi4-loader.c
index 31b0065888..0104496e9d 100644
--- a/firmware/target/arm/pp/mi4-loader.c
+++ b/firmware/target/arm/pp/mi4-loader.c
@@ -27,12 +27,11 @@
#include "config.h"
#include "mi4-loader.h"
#include "loader_strerror.h"
-#include "crc32-mi4.h"
+#include "crc32.h"
#include "file.h"
#if defined(HAVE_BOOTDATA)
#include "system.h"
#include "bootdata.h"
-#include "crc32.h"
/* Write bootdata into location in FIRMWARE marked by magic header
* Assumes buffer is already loaded with the firmware image
@@ -293,7 +292,7 @@ static int load_mi4_filename(unsigned char* buf,
return EREAD_IMAGE_FAILED;
/* Check CRC32 to see if we have a valid file */
- sum = chksum_crc32 (buf, mi4header.mi4size - MI4_HEADER_SIZE);
+ sum = crc_32r (buf, mi4header.mi4size - MI4_HEADER_SIZE, 0);
if(sum != mi4header.crc32)
return EBAD_CHKSUM;