arc: arm: don't use recursion to create _sw_isr_table

Causes problems for large values of CONFIG_NUM_IRQS.
Some inconsistencies have been noted in how CONFIG_NUM_IRQS is
used on these platforms, with bugs filed. This patch preserves
existing behavior and has been shown to generate the same number
of table entries for both arches using objdump.

Change-Id: I1d3ac5466978acb56e88a6dc3cbe7cc09431e94d
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2015-12-30 13:45:56 -08:00 committed by Anas Nashif
commit d0ab1a816e
2 changed files with 10 additions and 10 deletions

View file

@ -42,13 +42,13 @@
/* /*
* Declare the ISR table * Declare the ISR table
* Macro is recursive
*/ */
.macro _isr_table_declare from, to .macro _isr_table_declare from, to
_isr_table_entry_declare \from counter = \from
.if \to-\from .rept (\to - \from + 1)
_isr_table_declare %(\from + 1), \to _isr_table_entry_declare %counter
.endif counter = counter + 1
.endr
.endm .endm
GTEXT(_irq_spurious) GTEXT(_irq_spurious)

View file

@ -49,13 +49,13 @@ _ASM_FILE_PROLOGUE
/* /*
* Declare the ISR table * Declare the ISR table
* Macro is recursive
*/ */
.macro _isr_table_declare from, to .macro _isr_table_declare from, to
_isr_table_entry_declare \from counter = \from
.if \to-\from .rept (\to - \from + 1)
_isr_table_declare %(\from + 1), \to _isr_table_entry_declare %counter
.endif counter = counter + 1
.endr
.endm .endm
GTEXT(_irq_spurious) GTEXT(_irq_spurious)