changeset 744:42861b9d6e75

Minor improvement for extended IRQ support
author gthomas
date Mon, 24 Feb 2003 18:09:45 +0000
parents 3cd70c8160c2
children 524cd8104dfd
files packages/hal/arm/xscale/pxa2x0/current/ChangeLog packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c
diffstat 2 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/arm/xscale/pxa2x0/current/ChangeLog
+++ b/packages/hal/arm/xscale/pxa2x0/current/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-24  Gary Thomas  <gary@mlbassoc.com>
+
+	* src/pxa2x0_misc.c (hal_IRQ_handler): Pass 'sources' on to any
+	extended IRQ handler (it may need them).
+
 2003-02-20  Gary Thomas  <gary@mlbassoc.com>
 
 	* src/pxa2x0_misc.c (hal_hardware_init): Move call to hal_if_init()
--- a/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c
+++ b/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c
@@ -166,16 +166,16 @@ int hal_IRQ_handler(void)
 {
     cyg_uint32 sources, index;
 
+    sources = *PXA2X0_ICIP;
+
 #ifdef HAL_EXTENDED_IRQ_HANDLER
     // Use platform specific IRQ handler, if defined
     // Note: this macro should do a 'return' with the appropriate
     // interrupt number if such an extended interrupt exists.  The
     // assumption is that the line after the macro starts 'normal' processing.
-    HAL_EXTENDED_IRQ_HANDLER(index);
+    HAL_EXTENDED_IRQ_HANDLER(sources);
 #endif
 
-    sources = *PXA2X0_ICIP;
-
     if ( sources & 0xff0000 )
         index = 16;
     else if ( sources & 0xff00 )
@@ -258,7 +258,7 @@ void hal_interrupt_unmask(int vector)
 void hal_interrupt_acknowledge(int vector)
 {
 
-#ifdef HAL_EXTENDED_INTERRUPT_UNMASK
+#ifdef HAL_EXTENDED_INTERRUPT_ACKNOWLEDGE
     // Use platform specific handling, if defined
     // Note: this macro should do a 'return' for "extended" values of 'vector'
     // Normal vectors are handled by code subsequent to the macro call.