arm: remove dynamic IRQs and exceptions
Change-Id: I8fea235aff6b7cb7da07b491ba39ea383709b57f Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
1cda7554ca
commit
844e21269c
6 changed files with 1 additions and 189 deletions
|
@ -127,66 +127,3 @@ void _irq_spurious(void *unused)
|
|||
__reserved();
|
||||
}
|
||||
|
||||
#if CONFIG_SW_ISR_TABLE_DYNAMIC
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* @brief Replace an interrupt handler by another
|
||||
*
|
||||
* An interrupt's ISR can be replaced at runtime.
|
||||
*
|
||||
* @return N/A
|
||||
*/
|
||||
void _irq_handler_set(unsigned int irq,
|
||||
void (*new)(void *arg),
|
||||
void *arg)
|
||||
{
|
||||
int key = irq_lock();
|
||||
|
||||
_sw_isr_table[irq].isr = new;
|
||||
_sw_isr_table[irq].arg = arg;
|
||||
|
||||
irq_unlock(key);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Connect an ISR to an interrupt line
|
||||
*
|
||||
* <isr> is connected to interrupt line <irq> (exception #<irq>+16). No prior
|
||||
* ISR can have been connected on <irq> interrupt line since the system booted.
|
||||
*
|
||||
* This routine will hang if another ISR was connected for interrupt line <irq>
|
||||
* and ASSERT_ON is enabled; if ASSERT_ON is disabled, it will fail silently.
|
||||
*
|
||||
* @return the interrupt line number
|
||||
*/
|
||||
int _arch_irq_connect_dynamic(unsigned int irq,
|
||||
unsigned int prio,
|
||||
void (*isr)(void *arg),
|
||||
void *arg,
|
||||
uint32_t flags)
|
||||
{
|
||||
ARG_UNUSED(flags);
|
||||
_irq_handler_set(irq, isr, arg);
|
||||
_irq_priority_set(irq, prio, flags);
|
||||
return irq;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @brief Disconnect an ISR from an interrupt line
|
||||
*
|
||||
* Interrupt line <irq> (exception #<irq>+16) is disconnected from its ISR and
|
||||
* the latter is replaced by _irq_spurious(). irq_disable() should have
|
||||
* been called before invoking this routine.
|
||||
*
|
||||
* @return N/A
|
||||
*/
|
||||
void _irq_disconnect(unsigned int irq)
|
||||
{
|
||||
_irq_handler_set(irq, _irq_spurious, NULL);
|
||||
}
|
||||
#endif /* CONFIG_SW_ISR_TABLE_DYNAMIC */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue