Make the panic and UIE handlers turn on the backlight (needed for various colour LCDs that are unreadable without it). UIE is only changed on ARM for now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22034 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rob Purchase 2009-07-25 18:23:06 +00:00
parent fe1568a11c
commit ccb52bd72c
2 changed files with 15 additions and 0 deletions

View File

@ -30,6 +30,9 @@
#include "led.h"
#include "power.h"
#include "system.h"
#ifdef HAVE_BACKLIGHT
#include "backlight-target.h"
#endif
static char panic_buf[128];
#define LINECHARS (LCD_WIDTH/SYSFONT_WIDTH)
@ -75,9 +78,14 @@ void panicf( const char *fmt, ...)
#else
/* no LCD */
#endif
lcd_update();
DEBUGF("%s", panic_buf);
#ifdef HAVE_BACKLIGHT
_backlight_on();
#endif
set_cpu_frequency(0);
#ifdef HAVE_ATA_POWER_OFF

View File

@ -23,6 +23,9 @@
#include <stdio.h>
#include "lcd.h"
#include "font.h"
#ifdef HAVE_BACKLIGHT
#include "backlight-target.h"
#endif
static const char* const uiename[] = {
"Undefined instruction",
@ -48,6 +51,10 @@ void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num)
lcd_puts(0, 1, str);
lcd_update();
#ifdef HAVE_BACKLIGHT
_backlight_on();
#endif
disable_interrupt(IRQ_FIQ_STATUS);
system_exception_wait(); /* If this returns, try to reboot */