diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-02-27 15:10:53 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-02-28 11:50:18 +0100 |
commit | e33be09cfbf549228fea16f4421b277bfb9ae7dc (patch) | |
tree | 95e0ce523a2aa7525b39274edcb76206089ec133 /bsps/arm/shared | |
parent | Remove explicit file names from @file (diff) | |
download | rtems-e33be09cfbf549228fea16f4421b277bfb9ae7dc.tar.bz2 |
bsps/arm: Support GIC group 0/1
Diffstat (limited to 'bsps/arm/shared')
-rw-r--r-- | bsps/arm/shared/irq/irq-gic.c | 38 |
1 files changed, 37 insertions, 1 deletions
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 |