dev/irq: Optional arm_gic_irq_processor_count()

Provide arm_gic_irq_processor_count() only in SMP configurations.
This commit is contained in:
Sebastian Huber
2024-03-19 16:40:59 +01:00
parent 431e335e7e
commit 2f5a747dcc
3 changed files with 6 additions and 0 deletions

View File

@@ -113,9 +113,11 @@ static inline rtems_status_code arm_gic_irq_generate_software_irq(
return sc;
}
#ifdef RTEMS_SMP
uint32_t arm_gic_irq_processor_count(void);
void arm_gic_irq_initialize_secondary_cpu(void);
#endif
#ifdef __cplusplus
}

View File

@@ -400,9 +400,11 @@ void arm_gic_trigger_sgi(rtems_vector_number vector, uint32_t targets)
| GIC_DIST_ICDSGIR_SGIINTID(vector);
}
#ifdef RTEMS_SMP
uint32_t arm_gic_irq_processor_count(void)
{
volatile gic_dist *dist = ARM_GIC_DIST;
return GIC_DIST_ICDICTR_CPU_NUMBER_GET(dist->icdictr) + 1;
}
#endif

View File

@@ -280,6 +280,7 @@ void arm_gic_trigger_sgi(rtems_vector_number vector, uint32_t targets)
gicv3_trigger_sgi(vector, targets);
}
#ifdef RTEMS_SMP
uint32_t arm_gic_irq_processor_count(void)
{
volatile gic_dist *dist = ARM_GIC_DIST;
@@ -306,3 +307,4 @@ uint32_t arm_gic_irq_processor_count(void)
return cpu_count;
}
#endif