Add MAX value definitions to go along with irq_t and irq_mapped_t
This commit is contained in:
parent
e1218c4b4b
commit
fc5fca5145
@ -644,10 +644,10 @@ config ARCH_MINIMAL_VECTORTABLE
|
|||||||
This table is index by the hardware IRQ number and provides a value
|
This table is index by the hardware IRQ number and provides a value
|
||||||
in the range of 0 to CONFIG_ARCH_NUSER_INTERRUPTS that is the new,
|
in the range of 0 to CONFIG_ARCH_NUSER_INTERRUPTS that is the new,
|
||||||
mapped index into the vector table. Unused, unmapped interrupts
|
mapped index into the vector table. Unused, unmapped interrupts
|
||||||
should be set to (irq_mapped_t)-1. So, for example, if g_irqmap[37]
|
should be set to IRQMAPPED_MAX. So, for example, if g_irqmap[37]
|
||||||
== 24, then the hardware interrupt vector 37 will be mapped to the
|
== 24, then the hardware interrupt vector 37 will be mapped to the
|
||||||
interrupt vector table at index 24. if g_irqmap[42] ==
|
interrupt vector table at index 24. if g_irqmap[42] ==
|
||||||
(irq_mapped_t)-1, then hardware interrupt vector 42 is not used and
|
IRQMAPPED_MAX, then hardware interrupt vector 42 is not used and
|
||||||
if it occurs will result in an unexpected interrupt crash.
|
if it occurs will result in an unexpected interrupt crash.
|
||||||
|
|
||||||
config ARCH_NUSER_INTERRUPTS
|
config ARCH_NUSER_INTERRUPTS
|
||||||
|
@ -52,14 +52,34 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
/* IRQ detach is a convenience definition. Detaching an interrupt handler
|
/* IRQ detach is a convenience definition. Detaching an interrupt handler
|
||||||
* is equivalent to setting a NULL interrupt handler.
|
* is equivalent to setting a NULL interrupt handler.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
# define irq_detach(isr) irq_attach(isr, NULL, NULL)
|
# define irq_detach(isr) irq_attach(isr, NULL, NULL)
|
||||||
|
|
||||||
|
/* Maximum/minimum values of IRQ integer types */
|
||||||
|
|
||||||
|
# if NR_IRQS <= 256
|
||||||
|
# define IRQT_MAX UINT8_MAX
|
||||||
|
# elif NR_IRQS <= 65536
|
||||||
|
# define IRQT_MAX UINT16_MAX
|
||||||
|
# else
|
||||||
|
# define IRQT_MAX UINT32_MAX
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifdef CONFIG_ARCH_MINIMAL_VECTORTABLE
|
||||||
|
# if CONFIG_ARCH_NUSER_INTERRUPTS <= 256
|
||||||
|
# define IRQMAPPED_MAX UINT8_MAX
|
||||||
|
# elif CONFIG_ARCH_NUSER_INTERRUPTS <= 65536
|
||||||
|
# define IRQMAPPED_MAX UINT16_MAX
|
||||||
|
# else
|
||||||
|
# define IRQMAPPED_MAX UINT32_MAX
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Types
|
* Public Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user