forked from Imagelibrary/rtems
bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable(). Update #3269.
This commit is contained in:
@@ -137,7 +137,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
uint32_t mask, cur;
|
uint32_t mask, cur;
|
||||||
uint32_t mir_reg = omap_get_mir_reg(vector, &mask);
|
uint32_t mir_reg = omap_get_mir_reg(vector, &mask);
|
||||||
@@ -147,6 +147,7 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
cur = mmio_read(omap_intr.base + mir_reg);
|
cur = mmio_read(omap_intr.base + mir_reg);
|
||||||
mmio_write(omap_intr.base + mir_reg, cur & ~mask);
|
mmio_write(omap_intr.base + mir_reg, cur & ~mask);
|
||||||
flush_data_cache();
|
flush_data_cache();
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -68,12 +68,14 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
if (vector < MC9328MXL_NUM_INTS)
|
if (vector < MC9328MXL_NUM_INTS)
|
||||||
MC9328MXL_AITC_INTENNUM = vector;
|
MC9328MXL_AITC_INTENNUM = vector;
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -69,10 +69,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
AIC_CTL_REG(AIC_IECR) = 1 << vector;
|
AIC_CTL_REG(AIC_IECR) = 1 << vector;
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
@@ -93,6 +93,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
/* interrupt managed by INTMR3 and INTSR3 */
|
/* interrupt managed by INTMR3 and INTSR3 */
|
||||||
*EP7312_INTMR3 |= (1 << (vector - 21));
|
*EP7312_INTMR3 |= (1 << (vector - 21));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -66,10 +66,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
XSCALE_INT_ICMR |= 1 << vector;
|
XSCALE_INT_ICMR |= 1 << vector;
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -106,10 +106,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
VICIntEnable = 1U << vector;
|
VICIntEnable = 1U << vector;
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
rtems_interrupt_level level;
|
rtems_interrupt_level level;
|
||||||
|
|
||||||
@@ -312,6 +312,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
lpc32xx_irq_set_bit_in_register(vector, LPC32XX_IRQ_OFFSET_ER);
|
lpc32xx_irq_set_bit_in_register(vector, LPC32XX_IRQ_OFFSET_ER);
|
||||||
lpc32xx_irq_set_bit_in_field(vector, &lpc32xx_irq_enable);
|
lpc32xx_irq_set_bit_in_field(vector, &lpc32xx_irq_enable);
|
||||||
rtems_interrupt_enable(level);
|
rtems_interrupt_enable(level);
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -196,11 +196,12 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
BCM2835_REG(bsp_vector_to_reg(vector)->enable_reg_addr) =
|
BCM2835_REG(bsp_vector_to_reg(vector)->enable_reg_addr) =
|
||||||
bsp_vector_to_mask(vector);
|
bsp_vector_to_mask(vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -68,10 +68,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
VICIntEnable |= 1 << vector;
|
VICIntEnable |= 1 << vector;
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -80,10 +80,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
_ARMV7M_NVIC_Set_enable((int) vector);
|
_ARMV7M_NVIC_Set_enable((int) vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -69,9 +69,10 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -138,12 +138,13 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(
|
rtems_status_code bsp_interrupt_vector_enable(
|
||||||
rtems_vector_number vector
|
rtems_vector_number vector
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
TMS570_VIM.REQENASET[vector >> 5] = 1 << (vector & 0x1f);
|
TMS570_VIM.REQENASET[vector >> 5] = 1 << (vector & 0x1f);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -312,10 +312,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
BSP_irq_enable_at_i8259a(vector);
|
BSP_irq_enable_at_i8259a(vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -258,20 +258,24 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enables the interrupt vector with number @a vector.
|
* @brief Enables the interrupt vector.
|
||||||
*
|
*
|
||||||
* This function shall enable the vector at the corresponding facility (in most
|
* This function shall enable the vector at the corresponding facility (in most
|
||||||
* cases the interrupt controller). It will be called then the first handler
|
* cases the interrupt controller). It will be called then the first handler
|
||||||
* is installed for the vector in bsp_interrupt_handler_install() for example.
|
* is installed for the vector in bsp_interrupt_handler_install() for example.
|
||||||
*
|
*
|
||||||
* @note The implementation should use
|
* @note The implementation should use
|
||||||
* bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)) to valdiate the
|
* bsp_interrupt_assert( bsp_interrupt_is_valid_vector( vector ) ) to validate
|
||||||
* vector number.
|
* the vector number in ::RTEMS_DEBUG configurations.
|
||||||
*
|
*
|
||||||
* @note You must not install or remove an interrupt handler in this function.
|
* @param vector is the interrupt vector number.
|
||||||
* This may result in a deadlock.
|
*
|
||||||
|
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
|
||||||
|
*
|
||||||
|
* @retval ::RTEMS_UNSATISFIED The request to enable the interrupt vector has
|
||||||
|
* not been satisfied.
|
||||||
*/
|
*/
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector);
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number vector );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Disables the interrupt vector with number @a vector.
|
* @brief Disables the interrupt vector with number @a vector.
|
||||||
|
|||||||
@@ -59,10 +59,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
lm32_interrupt_unmask(1 << vector);
|
lm32_interrupt_unmask(1 << vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
volatile uint32_t *imr = vector_to_imr(vector);
|
volatile uint32_t *imr = vector_to_imr(vector);
|
||||||
uint32_t bit = vector_to_bit(vector);
|
uint32_t bit = vector_to_bit(vector);
|
||||||
@@ -112,6 +112,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
rtems_interrupt_disable(level);
|
rtems_interrupt_disable(level);
|
||||||
*imr &= ~bit;
|
*imr &= ~bit;
|
||||||
rtems_interrupt_enable(level);
|
rtems_interrupt_enable(level);
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -109,9 +109,10 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -401,7 +401,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
int base_index = get_siu_irq_base_index( vector);
|
int base_index = get_siu_irq_base_index( vector);
|
||||||
|
|
||||||
@@ -429,6 +429,8 @@ void bsp_interrupt_vector_enable( rtems_vector_number vector)
|
|||||||
|
|
||||||
rtems_interrupt_enable( level);
|
rtems_interrupt_enable( level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -418,7 +418,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
rtems_vector_number vecnum = vector - BSP_IPIC_IRQ_LOWEST_OFFSET;
|
rtems_vector_number vecnum = vector - BSP_IPIC_IRQ_LOWEST_OFFSET;
|
||||||
const BSP_isrc_rsc_t *rsc_ptr;
|
const BSP_isrc_rsc_t *rsc_ptr;
|
||||||
@@ -436,6 +436,8 @@ void bsp_interrupt_vector_enable( rtems_vector_number vector)
|
|||||||
rtems_interrupt_enable(level);
|
rtems_interrupt_enable(level);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable( rtems_vector_number vector)
|
void bsp_interrupt_vector_disable( rtems_vector_number vector)
|
||||||
|
|||||||
@@ -194,10 +194,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
mpc55xx_intc_set_priority( vector, MPC55XX_INTC_DEFAULT_PRIORITY);
|
mpc55xx_intc_set_priority( vector, MPC55XX_INTC_DEFAULT_PRIORITY);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable( rtems_vector_number vector)
|
void bsp_interrupt_vector_disable( rtems_vector_number vector)
|
||||||
|
|||||||
@@ -370,7 +370,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
||||||
|
|
||||||
@@ -380,6 +380,8 @@ void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
|||||||
*/
|
*/
|
||||||
BSP_irq_enable_at_cpm (irqnum);
|
BSP_irq_enable_at_cpm (irqnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
||||||
|
|||||||
@@ -144,10 +144,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
||||||
{
|
{
|
||||||
/* FIXME: do something */
|
/* FIXME: do something */
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
||||||
|
|||||||
@@ -80,10 +80,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
/*
|
/*
|
||||||
* functions to enable/disable a source at the ipic
|
* functions to enable/disable a source at the ipic
|
||||||
*/
|
*/
|
||||||
void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number irqnum)
|
||||||
{
|
{
|
||||||
/* FIXME: do something */
|
/* FIXME: do something */
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
|
||||||
|
|||||||
@@ -130,10 +130,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
ev_int_set_mask(vector, 0);
|
ev_int_set_mask(vector, 0);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
@@ -396,9 +397,10 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
pic_vector_enable(vector, 0);
|
pic_vector_enable(vector, 0);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -137,10 +137,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
BSP_enable_irq_at_pic(vector);
|
BSP_enable_irq_at_pic(vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -58,9 +58,10 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_dispatch(uintptr_t exception_number)
|
void bsp_interrupt_dispatch(uintptr_t exception_number)
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
@@ -114,6 +114,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
} else if (BSP_IS_SIU_IRQ(vector)) {
|
} else if (BSP_IS_SIU_IRQ(vector)) {
|
||||||
bsp_irq_enable_at_SIU(vector);
|
bsp_irq_enable_at_SIU(vector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -174,13 +174,15 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
if (BSP_IS_OPBINTC_IRQ(vector)) {
|
if (BSP_IS_OPBINTC_IRQ(vector)) {
|
||||||
BSP_irq_enable_at_opbintc(vector);
|
BSP_irq_enable_at_opbintc(vector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -140,11 +140,12 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
int irq = (int)vector;
|
int irq = (int)vector;
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
GRLIB_Cpu_Unmask_interrupt(irq, bsp_irq_cpu(irq));
|
GRLIB_Cpu_Unmask_interrupt(irq, bsp_irq_cpu(irq));
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
@@ -319,6 +319,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
|
|
||||||
rtems_interrupt_lock_release(&riscv_plic_lock, &lock_context);
|
rtems_interrupt_lock_release(&riscv_plic_lock, &lock_context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -117,13 +117,14 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
volatile gic_dist *dist = ARM_GIC_DIST;
|
volatile gic_dist *dist = ARM_GIC_DIST;
|
||||||
|
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
|
|
||||||
gic_id_enable(dist, vector);
|
gic_id_enable(dist, vector);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
|
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
@@ -239,6 +239,8 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
/* Set enable */
|
/* Set enable */
|
||||||
sgi_ppi->icspiser[0] = 1 << (vector % 32);
|
sgi_ppi->icspiser[0] = 1 << (vector % 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -79,10 +79,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
(void)vector;
|
(void)vector;
|
||||||
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -88,9 +88,7 @@ rtems_status_code rtems_interrupt_vector_enable( rtems_vector_number vector )
|
|||||||
return RTEMS_INVALID_ID;
|
return RTEMS_INVALID_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
bsp_interrupt_vector_enable( vector );
|
return bsp_interrupt_vector_enable( vector );
|
||||||
|
|
||||||
return RTEMS_SUCCESSFUL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rtems_status_code rtems_interrupt_vector_disable( rtems_vector_number vector )
|
rtems_status_code rtems_interrupt_vector_disable( rtems_vector_number vector )
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ static void leon3_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
#if defined(RTEMS_SMP)
|
#if defined(RTEMS_SMP)
|
||||||
rtems_interrupt_lock_context lock_context;
|
rtems_interrupt_lock_context lock_context;
|
||||||
@@ -164,6 +164,7 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
|||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
BSP_Cpu_Unmask_interrupt(vector, _LEON3_Get_current_processor());
|
BSP_Cpu_Unmask_interrupt(vector, _LEON3_Get_current_processor());
|
||||||
#endif
|
#endif
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -85,10 +85,11 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||||
BSP_Cpu_Unmask_interrupt(vector, 0);
|
BSP_Cpu_Unmask_interrupt(vector, 0);
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
void bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||||
|
|||||||
@@ -188,7 +188,8 @@ rtems_status_code bsp_interrupt_vector_is_enabled(
|
|||||||
return RTEMS_UNSATISFIED;
|
return RTEMS_UNSATISFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsp_interrupt_vector_enable(rtems_vector_number vector)
|
rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
|
||||||
{
|
{
|
||||||
/* XXX */
|
/* XXX */
|
||||||
|
return RTEMS_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user