diff options
author | James Buren <braewoods+rb@braewoods.net> | 2021-06-21 09:36:54 +0000 |
---|---|---|
committer | James Buren <braewoods+rb@braewoods.net> | 2021-06-21 09:36:54 +0000 |
commit | 581081a3df072833ab22a58af574992820c2ae8f (patch) | |
tree | 741a88ef6978b85f62468146ffbcb948a4341139 /bootloader | |
parent | fc9208108052440ccde79b6cd33e3598e8fb7c26 (diff) | |
download | rockbox-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.c | 1 | ||||
-rw-r--r-- | bootloader/main-e200r-installer.c | 4 | ||||
-rw-r--r-- | bootloader/main-pp.c | 4 |
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 | ||