15 #if defined(RTEMS_SMP) && defined(LEON3) 17 const unsigned char LEON3_irq_to_cpu[32] __attribute__((weak));
20 static inline int bsp_irq_cpu(
int irq)
24 return LEON3_Cpu_Index;
26 return LEON3_Cpu_Index + LEON3_irq_to_cpu[irq];
30 static inline int bsp_irq_cpu(
int irq)
33 return _LEON3_Get_current_processor();
41 void BSP_shared_interrupt_init(
void)
47 for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) {
48 #if defined(LEON3) && (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)) 50 if (i == LEON3_mp_irq)
69 int irq = (int)vector;
71 BSP_Cpu_Unmask_interrupt(irq, bsp_irq_cpu(irq));
76 int irq = (int)vector;
78 BSP_Cpu_Mask_interrupt(irq, bsp_irq_cpu(irq));
81 void BSP_shared_interrupt_mask(
int irq)
83 BSP_Cpu_Mask_interrupt(irq, bsp_irq_cpu(irq));
86 void BSP_shared_interrupt_unmask(
int irq)
88 BSP_Cpu_Unmask_interrupt(irq, bsp_irq_cpu(irq));
91 void BSP_shared_interrupt_clear(
int irq)
96 BSP_Clear_interrupt(irq);
Generic BSP interrupt support API.
void bsp_interrupt_vector_disable(rtems_vector_number vector)
Disables the interrupt vector with number vector.
#define SPARC_ASYNCHRONOUS_TRAP(_trap)
This status code indicates successful completion.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
rtems_status_code rtems_interrupt_catch(rtems_isr_entry new_isr_handler, rtems_vector_number vector, rtems_isr_entry *old_isr_handler)
%
This header file defines the RTEMS Classic API.
static bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
Returns true if the interrupt vector with number vector is valid.
void bsp_interrupt_initialize(void)
Initialize BSP interrupt support.
void(* rtems_isr_entry)(void *)
Interrupt service routines installed by rtems_interrupt_catch() shall have this function pointer type...
ISR_Vector_number rtems_vector_number
%
rtems_status_code bsp_interrupt_facility_initialize(void)
BSP specific initialization.
#define rtems_configuration_get_maximum_processors()
Returns the maximum number of processors which are configured for this application.
void bsp_interrupt_vector_enable(rtems_vector_number vector)
Enables the interrupt vector with number vector.