diff options
Diffstat (limited to 'libcpu/arm')
| -rw-r--r-- | libcpu/arm/cortex-a/gic.c | 2 | ||||
| -rw-r--r-- | libcpu/arm/cortex-a/gicv3.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/libcpu/arm/cortex-a/gic.c b/libcpu/arm/cortex-a/gic.c index e65bb5413e..072ddc302b 100644 --- a/libcpu/arm/cortex-a/gic.c +++ b/libcpu/arm/cortex-a/gic.c @@ -193,7 +193,7 @@ void arm_gic_set_configuration(rt_uint32_t index, int irq, rt_uint32_t config) shift = (irq % 16U) << 1U; icfgr &= (~(3U << shift)); - icfgr |= (config << shift); + icfgr |= (config << (shift + 1)); GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; } diff --git a/libcpu/arm/cortex-a/gicv3.c b/libcpu/arm/cortex-a/gicv3.c index 5039b0c5a1..7d0b9f28f5 100644 --- a/libcpu/arm/cortex-a/gicv3.c +++ b/libcpu/arm/cortex-a/gicv3.c @@ -201,7 +201,7 @@ void arm_gic_set_configuration(rt_uint32_t index, int irq, rt_uint32_t config) shift = (irq % 16U) << 1U; icfgr &= (~(3U << shift)); - icfgr |= (config << shift); + icfgr |= (config << (shift + 1)); GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; } |
