# HG changeset patch # User gthomas # Date 1046110185 0 # Node ID 42861b9d6e755574d9d04a532a197a55a4281ad8 # Parent 3cd70c8160c206425c3f7161089e60647d22051d Minor improvement for extended IRQ support diff --git a/packages/hal/arm/xscale/pxa2x0/current/ChangeLog b/packages/hal/arm/xscale/pxa2x0/current/ChangeLog --- 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 + + * src/pxa2x0_misc.c (hal_IRQ_handler): Pass 'sources' on to any + extended IRQ handler (it may need them). + 2003-02-20 Gary Thomas * src/pxa2x0_misc.c (hal_hardware_init): Move call to hal_if_init() diff --git a/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c b/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c --- 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.