summaryrefslogtreecommitdiff
path: root/utils/atj2137/atjboottool/fwu.c
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2017-09-29 18:22:30 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2017-09-29 18:22:30 +0200
commitea679de8371e4e74fe4e78fb8df8e5df19efffdc (patch)
treec08cf8be057318313a3bcf040395826afe62566b /utils/atj2137/atjboottool/fwu.c
parent95c32a505a7bfef2dcac2a975b1f5875f490c405 (diff)
downloadrockbox-ea679de8371e4e74fe4e78fb8df8e5df19efffdc.tar.gz
rockbox-ea679de8371e4e74fe4e78fb8df8e5df19efffdc.zip
atjboottool: put afi and fw code in its own files
Change-Id: I16347ebee0f82d5fdf32f5aa8f955c07fe148eba
Diffstat (limited to 'utils/atj2137/atjboottool/fwu.c')
-rw-r--r--utils/atj2137/atjboottool/fwu.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/utils/atj2137/atjboottool/fwu.c b/utils/atj2137/atjboottool/fwu.c
index 843a1cb628..44281af4f4 100644
--- a/utils/atj2137/atjboottool/fwu.c
+++ b/utils/atj2137/atjboottool/fwu.c
@@ -149,10 +149,10 @@ static int decode_block_A(uint8_t block[1020])
149 } 149 }
150 for(int i = 20; i < 32; i++) 150 for(int i = 20; i < 32; i++)
151 key[i] = key[i - 20]; 151 key[i] = key[i - 20];
152 152
153 for(int i = 0; i < 992; i++) 153 for(int i = 0; i < 992; i++)
154 block[i] ^= key[i % 32] ^ g_check_block_A_table[i]; 154 block[i] ^= key[i % 32] ^ g_check_block_A_table[i];
155 155
156 return check_block(block - 1, block + 1000, 1001); 156 return check_block(block - 1, block + 1000, 1001);
157} 157}
158 158
@@ -277,7 +277,7 @@ static int process_block_A(uint8_t block[1024])
277 g_crypto_info_byte = block[offset - 1]; 277 g_crypto_info_byte = block[offset - 1];
278 g_decode_buffer = malloc(g_decode_A_info.size); 278 g_decode_buffer = malloc(g_decode_A_info.size);
279 g_decode_buffer2 = malloc(g_decode_A_info.size); 279 g_decode_buffer2 = malloc(g_decode_A_info.size);
280 280
281 memset(g_decode_buffer, 0, g_decode_A_info.size); 281 memset(g_decode_buffer, 0, g_decode_A_info.size);
282 memset(g_decode_buffer2, 0, g_decode_A_info.size); 282 memset(g_decode_buffer2, 0, g_decode_A_info.size);
283 283
@@ -288,7 +288,7 @@ static int process_block_A(uint8_t block[1024])
288 288
289 cprintf_field(" Word: ", "%d ", *(uint16_t *)&g_subblock_A[286]); 289 cprintf_field(" Word: ", "%d ", *(uint16_t *)&g_subblock_A[286]);
290 check_field(*(uint16_t *)&g_subblock_A[286], 1, "Ok\n", "Mismatch\n"); 290 check_field(*(uint16_t *)&g_subblock_A[286], 1, "Ok\n", "Mismatch\n");
291 291
292 return 0; 292 return 0;
293} 293}
294 294
@@ -625,7 +625,7 @@ static int crypto3(uint32_t *a1, ptr_bundle_t *ptrs_alt, ptr_bundle_t *ptrs)
625static int crypto4(uint8_t *a1, ptr_bundle_t *ptrs, uint32_t *a3) 625static int crypto4(uint8_t *a1, ptr_bundle_t *ptrs, uint32_t *a3)
626{ 626{
627 ptr_bundle_t ptrs_others; 627 ptr_bundle_t ptrs_others;
628 628
629 ptrs_others.ptrA = malloc(g_decode_A_info.size); 629 ptrs_others.ptrA = malloc(g_decode_A_info.size);
630 ptrs_others.ptrB = malloc(g_decode_A_info.size); 630 ptrs_others.ptrB = malloc(g_decode_A_info.size);
631 clear_memory(ptrs_others.ptrA, g_decode_A_info.nr_dwords); 631 clear_memory(ptrs_others.ptrA, g_decode_A_info.nr_dwords);