diff options
Diffstat (limited to 'firmware/rolo.c')
-rw-r--r-- | firmware/rolo.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/firmware/rolo.c b/firmware/rolo.c index eb49a18c01..848b35b056 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c | |||
@@ -167,6 +167,15 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, | |||
167 | "mov r0, #0x10000000 \n" | 167 | "mov r0, #0x10000000 \n" |
168 | "mov pc, r0 \n" | 168 | "mov pc, r0 \n" |
169 | ); | 169 | ); |
170 | |||
171 | #elif defined(CPU_TCC780X) | ||
172 | /* Flush cache */ | ||
173 | flush_icache(); | ||
174 | |||
175 | asm volatile( | ||
176 | "mov pc, %0 \n" | ||
177 | : : "r"(dest) | ||
178 | ); | ||
170 | #endif | 179 | #endif |
171 | } | 180 | } |
172 | #endif | 181 | #endif |
@@ -216,7 +225,8 @@ int rolo_load(const char* filename) | |||
216 | 225 | ||
217 | length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA; | 226 | length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA; |
218 | 227 | ||
219 | #if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) | 228 | #if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) \ |
229 | || defined(CPU_TCC780X) | ||
220 | /* Read and save checksum */ | 230 | /* Read and save checksum */ |
221 | lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); | 231 | lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); |
222 | if (read(fd, &file_checksum, 4) != 4) { | 232 | if (read(fd, &file_checksum, 4) != 4) { |