From e33be09cfbf549228fea16f4421b277bfb9ae7dc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 27 Feb 2019 15:10:53 +0100 Subject: bsps/arm: Support GIC group 0/1 --- bsps/arm/shared/irq/irq-gic.c | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'bsps/arm/shared') diff --git a/bsps/arm/shared/irq/irq-gic.c b/bsps/arm/shared/irq/irq-gic.c index ea4b6ef06a..6f525b753d 100644 --- a/bsps/arm/shared/irq/irq-gic.c +++ b/bsps/arm/shared/irq/irq-gic.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * Copyright (c) 2013, 2019 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -157,6 +157,42 @@ rtems_status_code arm_gic_irq_get_priority( return sc; } +rtems_status_code arm_gic_irq_set_group( + rtems_vector_number vector, + gic_group group +) +{ + rtems_status_code sc = RTEMS_SUCCESSFUL; + + if (bsp_interrupt_is_valid_vector(vector)) { + volatile gic_dist *dist = ARM_GIC_DIST; + + gic_id_set_group(dist, vector, group); + } else { + sc = RTEMS_INVALID_ID; + } + + return sc; +} + +rtems_status_code arm_gic_irq_get_group( + rtems_vector_number vector, + gic_group *group +) +{ + rtems_status_code sc = RTEMS_SUCCESSFUL; + + if (bsp_interrupt_is_valid_vector(vector)) { + volatile gic_dist *dist = ARM_GIC_DIST; + + *group = gic_id_get_group(dist, vector); + } else { + sc = RTEMS_INVALID_ID; + } + + return sc; +} + void bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity -- cgit v1.2.3