Commented out old odd-parity lfs_crc table
We've been linking in this now-unused CRC table when we don't
need to be:
code stack
before: 33976 2824
after: 33856 (-0.4%) 2824 (+0.0%)
The only catch was it's use in lfs_emubd to provide optional checksums
when debugging. But the actual checksum doesn't matter, so this can be
migrated to crc32c.
This commit is contained in:
+18
-18
@@ -55,24 +55,24 @@ ssize_t lfs_fromleb128(uint32_t *word, const void *buffer, size_t size) {
|
||||
}
|
||||
|
||||
|
||||
// Software CRC implementation with small lookup table
|
||||
uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) {
|
||||
static const uint32_t rtable[16] = {
|
||||
0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac,
|
||||
0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
|
||||
0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c,
|
||||
0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c,
|
||||
};
|
||||
|
||||
const uint8_t *data = buffer;
|
||||
|
||||
for (size_t i = 0; i < size; i++) {
|
||||
crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 0)) & 0xf];
|
||||
crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 4)) & 0xf];
|
||||
}
|
||||
|
||||
return crc;
|
||||
}
|
||||
//// Software CRC implementation with small lookup table
|
||||
//uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) {
|
||||
// static const uint32_t rtable[16] = {
|
||||
// 0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac,
|
||||
// 0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
|
||||
// 0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c,
|
||||
// 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c,
|
||||
// };
|
||||
//
|
||||
// const uint8_t *data = buffer;
|
||||
//
|
||||
// for (size_t i = 0; i < size; i++) {
|
||||
// crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 0)) & 0xf];
|
||||
// crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 4)) & 0xf];
|
||||
// }
|
||||
//
|
||||
// return crc;
|
||||
//}
|
||||
|
||||
// Calculate crc32c incrementally
|
||||
uint32_t lfs_crc32c(uint32_t crc, const void *buffer, size_t size) {
|
||||
|
||||
Reference in New Issue
Block a user