summaryrefslogtreecommitdiff
path: root/bootloader
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 /bootloader
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 'bootloader')
-rw-r--r--bootloader/fat32format.c1
-rw-r--r--bootloader/main-e200r-installer.c4
-rw-r--r--bootloader/main-pp.c4
3 files changed, 4 insertions, 5 deletions
diff --git a/bootloader/fat32format.c b/bootloader/fat32format.c
index 540ee89b54..a885a5fced 100644
--- a/bootloader/fat32format.c
+++ b/bootloader/fat32format.c
@@ -44,7 +44,6 @@
44#include "storage.h" 44#include "storage.h"
45#include "button.h" 45#include "button.h"
46#include "disk.h" 46#include "disk.h"
47#include "crc32-mi4.h"
48#include <string.h> 47#include <string.h>
49#include "i2c.h" 48#include "i2c.h"
50#include "backlight-target.h" 49#include "backlight-target.h"
diff --git a/bootloader/main-e200r-installer.c b/bootloader/main-e200r-installer.c
index 5d1bff7b37..63b3fcb142 100644
--- a/bootloader/main-e200r-installer.c
+++ b/bootloader/main-e200r-installer.c
@@ -35,7 +35,7 @@
35#include "file.h" 35#include "file.h"
36#include "button.h" 36#include "button.h"
37#include "disk.h" 37#include "disk.h"
38#include "crc32-mi4.h" 38#include "crc32.h"
39#include <string.h> 39#include <string.h>
40#include "i2c.h" 40#include "i2c.h"
41#include "backlight-target.h" 41#include "backlight-target.h"
@@ -138,7 +138,7 @@ void* main(void)
138 138
139 storage_read_sectors(pinfo.start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK, 139 storage_read_sectors(pinfo.start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK,
140 1 , sector); 140 1 , sector);
141 crc32 = chksum_crc32 (sector, 512); 141 crc32 = crc_32r (sector, 512, 0);
142 142
143#if 0 /* not needed in release builds */ 143#if 0 /* not needed in release builds */
144 printf("--- Hack Status ---"); 144 printf("--- Hack Status ---");
diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c
index ef766455b6..08b5ea3ef5 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -37,7 +37,7 @@
37#include "adc.h" 37#include "adc.h"
38#include "button.h" 38#include "button.h"
39#include "disk.h" 39#include "disk.h"
40#include "crc32-mi4.h" 40#include "crc32.h"
41#include "mi4-loader.h" 41#include "mi4-loader.h"
42#include "loader_strerror.h" 42#include "loader_strerror.h"
43#include <string.h> 43#include <string.h>
@@ -169,7 +169,7 @@ int load_mi4_part(unsigned char* buf, struct partinfo* pinfo,
169 (mi4header.mi4size-MI4_HEADER_SIZE)/512, buf); 169 (mi4header.mi4size-MI4_HEADER_SIZE)/512, buf);
170 170
171 /* Check CRC32 to see if we have a valid file */ 171 /* Check CRC32 to see if we have a valid file */
172 sum = chksum_crc32 (buf,mi4header.mi4size-MI4_HEADER_SIZE); 172 sum = crc_32r (buf,mi4header.mi4size-MI4_HEADER_SIZE,0);
173 173
174 printf("Calculated CRC32: %x", sum); 174 printf("Calculated CRC32: %x", sum);
175 175