diff --git a/arch/nios2/core/irq_manage.c b/arch/nios2/core/irq_manage.c index b56aee91497..c6e367eafe5 100644 --- a/arch/nios2/core/irq_manage.c +++ b/arch/nios2/core/irq_manage.c @@ -77,7 +77,7 @@ void _enter_irq(uint32_t ipending) #endif while (ipending) { - _IsrTableEntry_t *ite; + struct _isr_table_entry *ite; #ifdef CONFIG_KERNEL_EVENT_LOGGER_INTERRUPT _sys_k_event_logger_interrupt(); diff --git a/include/arch/arc/arch.h b/include/arch/arc/arch.h index 84876a5922c..6ed34e62c86 100644 --- a/include/arch/arc/arch.h +++ b/include/arch/arc/arch.h @@ -62,10 +62,10 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, * accept constant values for the irq_p parameter, very important as the * numerical IRQ line is used to create a named section. * - * 2. An instance of _IsrTableEntry is created containing the ISR and its - * parameter. If you look at how _sw_isr_table is created, each entry in the - * array is in its own section named by the IRQ line number. What we are doing - * here is to override one of the default entries (which points to the + * 2. An instance of struct _isr_table_entry is created containing the ISR and + * its parameter. If you look at how _sw_isr_table is created, each entry in + * the array is in its own section named by the IRQ line number. What we are + * doing here is to override one of the default entries (which points to the * spurious IRQ handler) with what was supplied here. * * 3. The priority level for the interrupt is configured by a call to @@ -82,7 +82,7 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, #define _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ ({ \ enum { IRQ = irq_p }; \ - static struct _IsrTableEntry _CONCAT(_isr_irq, irq_p) \ + static struct _isr_table_entry _CONCAT(_isr_irq, irq_p) \ __attribute__ ((used)) \ __attribute__ ((section(STRINGIFY(_CONCAT(.gnu.linkonce.isr_irq, irq_p))))) = \ {isr_param_p, isr_p}; \ diff --git a/include/arch/arm/cortex_m/irq.h b/include/arch/arm/cortex_m/irq.h index 47aa58c2578..df9a6f0e52b 100644 --- a/include/arch/arm/cortex_m/irq.h +++ b/include/arch/arm/cortex_m/irq.h @@ -68,10 +68,10 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, * accept constant values for the irq_p parameter, very important as the * numerical IRQ line is used to create a named section. * - * 2. An instance of _IsrTableEntry is created containing the ISR and its - * parameter. If you look at how _sw_isr_table is created, each entry in the - * array is in its own section named by the IRQ line number. What we are doing - * here is to override one of the default entries (which points to the + * 2. An instance of struct _isr_table_entry is created containing the ISR and + * its parameter. If you look at how _sw_isr_table is created, each entry in + * the array is in its own section named by the IRQ line number. What we are + * doing here is to override one of the default entries (which points to the * spurious IRQ handler) with what was supplied here. * * 3. The priority level for the interrupt is configured by a call to @@ -88,7 +88,7 @@ extern void _irq_priority_set(unsigned int irq, unsigned int prio, #define _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ ({ \ enum { IRQ = irq_p }; \ - static struct _IsrTableEntry _CONCAT(_isr_irq, irq_p) \ + static struct _isr_table_entry _CONCAT(_isr_irq, irq_p) \ __attribute__ ((used)) \ __attribute__ ((section(STRINGIFY(_CONCAT(.gnu.linkonce.isr_irq, irq_p))))) = \ {isr_param_p, isr_p}; \ diff --git a/include/arch/nios2/arch.h b/include/arch/nios2/arch.h index 5fbf6c8ac81..352b209e54c 100644 --- a/include/arch/nios2/arch.h +++ b/include/arch/nios2/arch.h @@ -55,10 +55,10 @@ typedef unsigned int vaddr_t; * accept constant values for the irq_p parameter, very important as the * numerical IRQ line is used to create a named section. * - * 2. An instance of _IsrTableEntry is created containing the ISR and its - * parameter. If you look at how _sw_isr_table is created, each entry in the - * array is in its own section named by the IRQ line number. What we are doing - * here is to override one of the default entries (which points to the + * 2. An instance of struct _isr_table_entry is created containing the ISR and + * its parameter. If you look at how _sw_isr_table is created, each entry in + * the array is in its own section named by the IRQ line number. What we are + * doing here is to override one of the default entries (which points to the * spurious IRQ handler) with what was supplied here. * * There is no notion of priority with the Nios II internal interrupt @@ -75,7 +75,7 @@ typedef unsigned int vaddr_t; #define _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ ({ \ enum { IRQ = irq_p }; \ - static struct _IsrTableEntry _CONCAT(_isr_irq, irq_p) \ + static struct _isr_table_entry _CONCAT(_isr_irq, irq_p) \ __attribute__ ((used)) \ __attribute__ ((section(STRINGIFY(_CONCAT(.gnu.linkonce.isr_irq, irq_p))))) = \ {isr_param_p, isr_p}; \ diff --git a/include/arch/riscv32/arch.h b/include/arch/riscv32/arch.h index 621285cb2da..07ef1b1d099 100644 --- a/include/arch/riscv32/arch.h +++ b/include/arch/riscv32/arch.h @@ -69,10 +69,10 @@ int _arch_irq_is_enabled(unsigned int irq); * accept constant values for the irq_p parameter, very important as the * numerical IRQ line is used to create a named section. * - * 2. An instance of _IsrTableEntry is created containing the ISR and its - * parameter. If you look at how _sw_isr_table is created, each entry in the - * array is in its own section named by the IRQ line number. What we are doing - * here is to override one of the default entries (which points to the + * 2. An instance of struct _isr_table_entry is created containing the ISR and + * its parameter. If you look at how _sw_isr_table is created, each entry in + * the array is in its own section named by the IRQ line number. What we are + * doing here is to override one of the default entries (which points to the * spurious IRQ handler) with what was supplied here. * * 3. interrupt priority is not supported by pulpino core @@ -88,7 +88,7 @@ int _arch_irq_is_enabled(unsigned int irq); #define _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ ({ \ enum { IRQ = irq_p }; \ - static struct _IsrTableEntry _CONCAT(_isr_irq, irq_p) \ + static struct _isr_table_entry _CONCAT(_isr_irq, irq_p) \ __attribute__ ((used)) \ __attribute__ ((section(STRINGIFY(_CONCAT(.gnu.linkonce.isr_irq, irq_p))))) = \ {isr_param_p, isr_p}; \ diff --git a/include/sw_isr_table.h b/include/sw_isr_table.h index f0977876e9f..48fefb1476f 100644 --- a/include/sw_isr_table.h +++ b/include/sw_isr_table.h @@ -26,20 +26,15 @@ extern "C" { * loaded arg -> r0, isr -> r3 in _isr_wrapper with one ldmia instruction, * on ARM Cortex-M (Thumb2). */ -struct _IsrTableEntry { +struct _isr_table_entry { void *arg; void (*isr)(void *); }; -typedef struct _IsrTableEntry _IsrTableEntry_t; - -#ifdef CONFIG_ARC -extern _IsrTableEntry_t _sw_isr_table[CONFIG_NUM_IRQS - 16]; -#elif CONFIG_NIOS2 -extern _IsrTableEntry_t _sw_isr_table[NIOS2_NIRQ]; -#else -extern _IsrTableEntry_t _sw_isr_table[CONFIG_NUM_IRQS]; -#endif +/* The software ISR table itself, an array of these structures indexed by the + * irq line + */ +extern struct _isr_table_entry _sw_isr_table[]; #endif /* _ASMLANGUAGE */