17 int LEON3_IrqCtrl_EIrq = -1;
20 void leon3_ext_irq_init(
void)
22 if ( (LEON3_IrqCtrl_Regs->mpstat >> 16) & 0xf ) {
24 LEON3_IrqCtrl_EIrq = (LEON3_IrqCtrl_Regs->mpstat >> 16) & 0xf;
28 void bsp_interrupt_set_affinity(
30 const Processor_mask *affinity
33 uint32_t unmasked = 0;
37 for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
39 BSP_Cpu_Unmask_interrupt(vector, cpu_index);
45 LEON_Enable_interrupt_broadcast(vector);
47 LEON_Disable_interrupt_broadcast(vector);
51 void bsp_interrupt_get_affinity(
53 Processor_mask *affinity
61 for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
62 if (!BSP_Cpu_Is_interrupt_masked(vector, cpu_index)) {
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_set(const Processor_mask *mask, uint32_t index)
Checks if the specified index bit of the mask is set.
RTEMS_INLINE_ROUTINE void _Processor_mask_Zero(Processor_mask *mask)
Sets the bits of the mask to zero, also considers CPU_MAXIMUM_PROCESSORS.
LEON3 BSP data types and macros.
#define rtems_scheduler_get_processor_maximum()
Returns the processor maximum supported by the system.
LEON3 generic shared IRQ setup.
ISR_Vector_number rtems_vector_number
%
RTEMS_INLINE_ROUTINE void _Processor_mask_Set(Processor_mask *mask, uint32_t index)
Sets the specified index bit of the mask.