diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2010-05-24 14:32:38 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-05-24 14:32:38 +0000 |
commit | 8d1ec38a1d8721330798dbfc55be456ecd964bdf (patch) | |
tree | bd2e60a6421cf8f3ed24d093374a617ebf0b14ed /firmware/target/arm/as3525 | |
parent | 9c13b6e7c68776f930867c038fb3ad006a4ea8ab (diff) | |
download | rockbox-8d1ec38a1d8721330798dbfc55be456ecd964bdf.tar.gz rockbox-8d1ec38a1d8721330798dbfc55be456ecd964bdf.zip |
as3525: show unmasked interrupts on unhandled IRQ
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26250 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r-- | firmware/target/arm/as3525/system-as3525.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index 44e210a3cc..80804d41da 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c | |||
@@ -88,7 +88,13 @@ static const char * const irqname[] = | |||
88 | static void UIRQ(void) | 88 | static void UIRQ(void) |
89 | { | 89 | { |
90 | unsigned int irq_no = 0; | 90 | unsigned int irq_no = 0; |
91 | bool masked = false; | ||
91 | int status = VIC_IRQ_STATUS; | 92 | int status = VIC_IRQ_STATUS; |
93 | if(status == 0) | ||
94 | { | ||
95 | status = VIC_RAW_INTR; /* masked interrupts */ | ||
96 | masked = true; | ||
97 | } | ||
92 | 98 | ||
93 | if(status == 0) | 99 | if(status == 0) |
94 | panicf("Unhandled IRQ (source unknown!)"); | 100 | panicf("Unhandled IRQ (source unknown!)"); |
@@ -96,7 +102,8 @@ static void UIRQ(void) | |||
96 | while((status >>= 1)) | 102 | while((status >>= 1)) |
97 | irq_no++; | 103 | irq_no++; |
98 | 104 | ||
99 | panicf("Unhandled IRQ %02X: %s", irq_no, irqname[irq_no]); | 105 | panicf("Unhandled %smasked IRQ %02X: %s (status 0x%8X)", |
106 | masked ? "" : "no", irq_no, irqname[irq_no], status); | ||
100 | } | 107 | } |
101 | 108 | ||
102 | struct vec_int_src | 109 | struct vec_int_src |