diff options
-rw-r--r-- | firmware/panic.c | 1 | ||||
-rw-r--r-- | firmware/target/arm/system-arm.c | 10 | ||||
-rw-r--r-- | firmware/target/coldfire/system-coldfire.c | 9 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/system-jz4740.c | 10 | ||||
-rw-r--r-- | firmware/target/sh/system-sh.c | 10 |
5 files changed, 35 insertions, 5 deletions
diff --git a/firmware/panic.c b/firmware/panic.c index 0e575e0114..9230337ba4 100644 --- a/firmware/panic.c +++ b/firmware/panic.c | |||
@@ -63,6 +63,7 @@ void panicf( const char *fmt, ...) | |||
63 | 63 | ||
64 | #if LCD_DEPTH > 1 | 64 | #if LCD_DEPTH > 1 |
65 | lcd_set_backdrop(NULL); | 65 | lcd_set_backdrop(NULL); |
66 | lcd_set_drawmode(DRMODE_SOLID); | ||
66 | lcd_set_foreground(LCD_BLACK); | 67 | lcd_set_foreground(LCD_BLACK); |
67 | lcd_set_background(LCD_WHITE); | 68 | lcd_set_background(LCD_WHITE); |
68 | #endif | 69 | #endif |
diff --git a/firmware/target/arm/system-arm.c b/firmware/target/arm/system-arm.c index 920dbacd10..91d8613bac 100644 --- a/firmware/target/arm/system-arm.c +++ b/firmware/target/arm/system-arm.c | |||
@@ -36,10 +36,16 @@ static const char* const uiename[] = { | |||
36 | */ | 36 | */ |
37 | void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num) | 37 | void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num) |
38 | { | 38 | { |
39 | lcd_clear_display(); | 39 | #if LCD_DEPTH > 1 |
40 | #ifdef HAVE_LCD_BITMAP | 40 | lcd_set_backdrop(NULL); |
41 | lcd_set_drawmode(DRMODE_SOLID); | ||
42 | lcd_set_foreground(LCD_BLACK); | ||
43 | lcd_set_background(LCD_WHITE); | ||
44 | #endif | ||
41 | lcd_setfont(FONT_SYSFIXED); | 45 | lcd_setfont(FONT_SYSFIXED); |
46 | lcd_set_viewport(NULL); | ||
42 | #endif | 47 | #endif |
48 | lcd_clear_display(); | ||
43 | lcd_puts(0, 0, uiename[num]); | 49 | lcd_puts(0, 0, uiename[num]); |
44 | lcd_putsf(0, 1, "at %08x" IF_COP(" (%d)"), pc | 50 | lcd_putsf(0, 1, "at %08x" IF_COP(" (%d)"), pc |
45 | IF_COP(, CURRENT_CORE)); | 51 | IF_COP(, CURRENT_CORE)); |
diff --git a/firmware/target/coldfire/system-coldfire.c b/firmware/target/coldfire/system-coldfire.c index 8ae702fdfc..a387824526 100644 --- a/firmware/target/coldfire/system-coldfire.c +++ b/firmware/target/coldfire/system-coldfire.c | |||
@@ -167,8 +167,15 @@ static void system_display_exception_info(unsigned long format, | |||
167 | int vector = (format >> 18) & 0xff; | 167 | int vector = (format >> 18) & 0xff; |
168 | 168 | ||
169 | /* clear screen */ | 169 | /* clear screen */ |
170 | lcd_clear_display (); | 170 | #if LCD_DEPTH > 1 |
171 | lcd_set_backdrop(NULL); | ||
172 | lcd_set_drawmode(DRMODE_SOLID); | ||
173 | lcd_set_foreground(LCD_BLACK); | ||
174 | lcd_set_background(LCD_WHITE); | ||
175 | #endif | ||
171 | lcd_setfont(FONT_SYSFIXED); | 176 | lcd_setfont(FONT_SYSFIXED); |
177 | lcd_set_viewport(NULL); | ||
178 | lcd_clear_display(); | ||
172 | 179 | ||
173 | lcd_putsf(0, 0, "I%02x:%s", vector, irqname[vector]); | 180 | lcd_putsf(0, 0, "I%02x:%s", vector, irqname[vector]); |
174 | lcd_putsf(0, 1, "at %08x", pc); | 181 | lcd_putsf(0, 1, "at %08x", pc); |
diff --git a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c index c5f99aba23..68d4759f4d 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c | |||
@@ -262,9 +262,17 @@ void exception_handler(void* stack_ptr, unsigned int cause, unsigned int epc) | |||
262 | "$1", "LO", "HI", "STATUS", "EPC" }; | 262 | "$1", "LO", "HI", "STATUS", "EPC" }; |
263 | int i; | 263 | int i; |
264 | 264 | ||
265 | #ifdef HAVE_LCD_BITMAP | ||
266 | #if LCD_DEPTH > 1 | ||
265 | lcd_set_backdrop(NULL); | 267 | lcd_set_backdrop(NULL); |
266 | lcd_clear_display(); | 268 | lcd_set_drawmode(DRMODE_SOLID); |
269 | lcd_set_foreground(LCD_BLACK); | ||
270 | lcd_set_background(LCD_WHITE); | ||
271 | #endif | ||
267 | lcd_setfont(FONT_SYSFIXED); | 272 | lcd_setfont(FONT_SYSFIXED); |
273 | lcd_set_viewport(NULL); | ||
274 | #endif | ||
275 | lcd_clear_display(); | ||
268 | _backlight_on(); | 276 | _backlight_on(); |
269 | 277 | ||
270 | snprintf(buffer, sizeof(buffer), "0x%08x at 0x%08x", read_c0_badvaddr(), epc); | 278 | snprintf(buffer, sizeof(buffer), "0x%08x at 0x%08x", read_c0_badvaddr(), epc); |
diff --git a/firmware/target/sh/system-sh.c b/firmware/target/sh/system-sh.c index 24821095e8..e054801b57 100644 --- a/firmware/target/sh/system-sh.c +++ b/firmware/target/sh/system-sh.c | |||
@@ -299,10 +299,18 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */ | |||
299 | asm volatile ("sts\tpr,%0" : "=r"(n)); | 299 | asm volatile ("sts\tpr,%0" : "=r"(n)); |
300 | 300 | ||
301 | /* clear screen */ | 301 | /* clear screen */ |
302 | lcd_clear_display(); | ||
303 | #ifdef HAVE_LCD_BITMAP | 302 | #ifdef HAVE_LCD_BITMAP |
303 | #if LCD_DEPTH > 1 | ||
304 | lcd_set_backdrop(NULL); | ||
305 | lcd_set_drawmode(DRMODE_SOLID); | ||
306 | lcd_set_foreground(LCD_BLACK); | ||
307 | lcd_set_background(LCD_WHITE); | ||
308 | #endif | ||
304 | lcd_setfont(FONT_SYSFIXED); | 309 | lcd_setfont(FONT_SYSFIXED); |
310 | lcd_set_viewport(NULL); | ||
305 | #endif | 311 | #endif |
312 | |||
313 | lcd_clear_display(); | ||
306 | /* output exception */ | 314 | /* output exception */ |
307 | n = (n - (unsigned)UIE4 + 12)>>2; /* get exception or interrupt number */ | 315 | n = (n - (unsigned)UIE4 + 12)>>2; /* get exception or interrupt number */ |
308 | lcd_putsf(0, 0, "I%02x:%s", n, irqname[n]); | 316 | lcd_putsf(0, 0, "I%02x:%s", n, irqname[n]); |