forked from Imagelibrary/rtems
bsps: Move declarations to <bsp/irq-generic.h>
Move declarations of bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() to <bsp/irq-generic.h>. Canonicalize the <bsp/irq.h> includes. Implement bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if needed (usually RTEMS_SMP). Provide stub implementations for i386 to fix build errors.
This commit is contained in:
@@ -23,14 +23,8 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <dev/irq/arm-gic-irq.h>
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
#include <rtems/score/processormask.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup raspberrypi_interrupt Interrrupt Support
|
||||
*
|
||||
@@ -83,27 +77,5 @@
|
||||
|
||||
#define BSP_IRQ_COUNT (BCM2835_INTC_TOTAL_IRQ)
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
static inline rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ASM */
|
||||
#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
|
||||
|
||||
@@ -22,12 +22,6 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
#include <rtems/score/processormask.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup raspberrypi_interrupt Interrrupt Support
|
||||
@@ -78,27 +72,5 @@
|
||||
|
||||
#define BSP_IRQ_COUNT (BCM2835_INTC_TOTAL_IRQ)
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
static inline rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ASM */
|
||||
#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <rtems/score/armv4.h>
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/raspberrypi.h>
|
||||
#include <bsp/linker-symbols.h>
|
||||
@@ -207,6 +206,28 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
void bsp_interrupt_handler_default(rtems_vector_number vector)
|
||||
{
|
||||
printk("spurious interrupt: %" PRIdrtems_vector_number "\n", vector);
|
||||
|
||||
@@ -295,6 +295,17 @@ rtems_status_code bsp_interrupt_raise(rtems_vector_number vector)
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
rtems_status_code bsp_interrupt_raise_on(
|
||||
rtems_vector_number vector,
|
||||
uint32_t cpu_index
|
||||
)
|
||||
{
|
||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
rtems_status_code bsp_interrupt_clear(rtems_vector_number vector)
|
||||
{
|
||||
bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
|
||||
@@ -326,6 +337,28 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
void bsp_interrupt_facility_initialize(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Chris Johns <chrisj@rtems.org>
|
||||
*
|
||||
* Copyright (C) 2008, 2021 embedded brains GmbH & Co. KG
|
||||
* Copyright (C) 2008, 2024 embedded brains GmbH & Co. KG
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <rtems/score/assert.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
#include <rtems/score/atomic.h>
|
||||
@@ -372,6 +373,55 @@ rtems_status_code bsp_interrupt_raise_on(
|
||||
*/
|
||||
rtems_status_code bsp_interrupt_clear( rtems_vector_number vector );
|
||||
|
||||
/**
|
||||
* @brief Gets the processor affinity set of the interrupt vector.
|
||||
*
|
||||
* The function may have no implementation in uniprocessor configurations.
|
||||
*
|
||||
* @param vector is the interrupt vector number.
|
||||
*
|
||||
* @param[out] affinity is the pointer to a Processor_mask object. When the
|
||||
* directive call is successful, the processor affinity set of the interrupt
|
||||
* vector will be stored in this object. A set bit in the processor set
|
||||
* means that the corresponding processor is in the processor affinity set of
|
||||
* the interrupt vector, otherwise the bit is cleared.
|
||||
*
|
||||
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
|
||||
*
|
||||
* @retval ::RTEMS_UNSATISFIED The request to get the processor affinity of the
|
||||
* interrupt vector has not been satisfied.
|
||||
*/
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief Sets the processor affinity set of the interrupt vector.
|
||||
*
|
||||
* The function may have no implementation in uniprocessor configurations.
|
||||
*
|
||||
* @param vector is the interrupt vector number. It shall be valid.
|
||||
*
|
||||
* @param affinity is the pointer to a Processor_mask object. The processor set
|
||||
* defines the new processor affinity set of the interrupt vector. A set bit
|
||||
* in the processor set means that the corresponding processor shall be in
|
||||
* the processor affinity set of the interrupt vector, otherwise the bit
|
||||
* shall be cleared.
|
||||
*
|
||||
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
|
||||
*
|
||||
* @retval ::RTEMS_INVALID_NUMBER The referenced processor set was not a valid
|
||||
* new processor affinity set for the interrupt vector.
|
||||
*
|
||||
* @retval ::RTEMS_UNSATISFIED The request to set the processor affinity of the
|
||||
* interrupt vector has not been satisfied.
|
||||
*/
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
/**
|
||||
* @brief Handles a spurious interrupt.
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
|
||||
#include <bsp.h>
|
||||
#include <dev/irq/arm-gic.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -85,16 +84,6 @@ rtems_status_code arm_gic_irq_get_group(
|
||||
gic_group *group
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
void arm_gic_trigger_sgi(rtems_vector_number vector, uint32_t targets);
|
||||
|
||||
static inline rtems_status_code arm_gic_irq_generate_software_irq(
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <bsp.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <bsp/qoriq.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
|
||||
static struct timecounter qoriq_clock_tc;
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
#define LIBBSP_POWERPC_QORIQ_IRQ_H
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -409,16 +408,6 @@ rtems_status_code qoriq_pic_set_priority(
|
||||
int *old_priority
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code qoriq_pic_msi_allocate(rtems_vector_number *vector);
|
||||
|
||||
rtems_status_code qoriq_pic_msi_free(rtems_vector_number vector);
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
#include <asm/epapr_hcalls.h>
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/vectors.h>
|
||||
#include <bsp/utility.h>
|
||||
|
||||
@@ -29,9 +29,6 @@
|
||||
#define LIBBSP_POWERPC_T32MPPC_IRQ_H
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -39,26 +36,6 @@ extern "C" {
|
||||
|
||||
#define BSP_INTERRUPT_VECTOR_COUNT 1
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@@ -92,6 +92,28 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
void bsp_interrupt_facility_initialize(void)
|
||||
{
|
||||
/* Nothing to do */
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
#include <bsp.h>
|
||||
#include <amba.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bspopts.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <rtems/rtems/intr.h>
|
||||
|
||||
@@ -40,9 +40,6 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#define RISCV_INTERRUPT_VECTOR_SOFTWARE 0
|
||||
|
||||
@@ -56,16 +53,6 @@
|
||||
|
||||
#define BSP_INTERRUPT_VECTOR_COUNT RISCV_INTERRUPT_VECTOR_EXTERNAL(RISCV_MAXIMUM_EXTERNAL_INTERRUPTS)
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
#endif /* LIBBSP_RISCV_GRISCV_IRQ_H */
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <amba.h>
|
||||
|
||||
@@ -42,9 +42,6 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#define RISCV_INTERRUPT_VECTOR_SOFTWARE 0
|
||||
|
||||
@@ -60,16 +57,6 @@
|
||||
|
||||
#define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
#endif /* LIBBSP_GENERIC_RISCV_IRQ_H */
|
||||
|
||||
@@ -42,9 +42,6 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#define RISCV_INTERRUPT_VECTOR_SOFTWARE 0
|
||||
|
||||
@@ -60,16 +57,6 @@
|
||||
|
||||
#define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
#endif /* LIBBSP_GENERIC_RISCV_IRQ_H */
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <bsp/fdt.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <dev/irq/arm-gic.h>
|
||||
#include <dev/irq/arm-gic-arch.h>
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/start.h>
|
||||
|
||||
@@ -328,6 +327,7 @@ rtems_status_code arm_gic_irq_get_group(
|
||||
return sc;
|
||||
}
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
@@ -387,6 +387,7 @@ rtems_status_code bsp_interrupt_get_affinity(
|
||||
_Processor_mask_From_uint32_t(affinity, targets, 0);
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
#endif
|
||||
|
||||
void arm_gic_trigger_sgi(rtems_vector_number vector, uint32_t targets)
|
||||
{
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
|
||||
#include <dev/irq/arm-gicv3.h>
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/start.h>
|
||||
|
||||
@@ -242,6 +241,7 @@ rtems_status_code arm_gic_irq_get_priority(
|
||||
return sc;
|
||||
}
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
@@ -274,6 +274,7 @@ rtems_status_code bsp_interrupt_get_affinity(
|
||||
_Processor_mask_From_uint32_t(affinity, targets, 0);
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
#endif
|
||||
|
||||
void arm_gic_trigger_sgi(rtems_vector_number vector, uint32_t targets)
|
||||
{
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
#include <bsp/irq-generic.h>
|
||||
|
||||
#include <rtems/score/processormask.h>
|
||||
#include <rtems/score/smpimpl.h>
|
||||
|
||||
rtems_status_code rtems_interrupt_set_affinity(
|
||||
|
||||
@@ -37,31 +37,11 @@
|
||||
#ifndef LIBBSP_ERC32_IRQ_CONFIG_H
|
||||
#define LIBBSP_ERC32_IRQ_CONFIG_H
|
||||
|
||||
#include <rtems/score/processormask.h>
|
||||
#include <rtems.h>
|
||||
|
||||
#define BSP_INTERRUPT_VECTOR_MAX_STD 15 /* Standard IRQ controller */
|
||||
#define BSP_INTERRUPT_VECTOR_COUNT (BSP_INTERRUPT_VECTOR_MAX_STD + 1)
|
||||
|
||||
#define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
static inline rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#endif /* LIBBSP_ERC32_IRQ_CONFIG_H */
|
||||
|
||||
@@ -42,9 +42,8 @@
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/leon3.h>
|
||||
#include <rtems/rtems/intr.h>
|
||||
#include <grlib/irqamp.h>
|
||||
#include <rtems/score/profiling.h>
|
||||
#include <rtems/timecounter.h>
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#define LIBBSP_LEON3_IRQ_CONFIG_H
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/score/processormask.h>
|
||||
|
||||
#define BSP_INTERRUPT_VECTOR_MAX_STD 15 /* Standard IRQ controller */
|
||||
#define BSP_INTERRUPT_VECTOR_MAX_EXT 31 /* Extended IRQ controller */
|
||||
@@ -48,14 +47,4 @@
|
||||
/* The check is different depending on IRQ controller, runtime detected */
|
||||
#define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
);
|
||||
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
);
|
||||
|
||||
#endif /* LIBBSP_LEON3_IRQ_CONFIG_H */
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#define __tm27_h
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
#include <rtems/score/smpimpl.h>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include <bsp.h>
|
||||
#include <bsp/bootcard.h>
|
||||
#include <bsp/fatal.h>
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/leon3.h>
|
||||
#include <rtems/bspIo.h>
|
||||
#include <rtems/sysinit.h>
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp/irq-generic.h>
|
||||
#include <bsp/irqimpl.h>
|
||||
|
||||
|
||||
@@ -140,3 +140,25 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
|
||||
BSP_Cpu_Mask_interrupt(vector, 0);
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
#if defined(RTEMS_SMP)
|
||||
rtems_status_code bsp_interrupt_get_affinity(
|
||||
rtems_vector_number vector,
|
||||
Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
_Processor_mask_From_index( affinity, 0 );
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
|
||||
rtems_status_code bsp_interrupt_set_affinity(
|
||||
rtems_vector_number vector,
|
||||
const Processor_mask *affinity
|
||||
)
|
||||
{
|
||||
(void) vector;
|
||||
(void) affinity;
|
||||
return RTEMS_UNSATISFIED;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user